在 Javascript 中找不到 asp:textbox
我正在尝试将 onkeydown 属性添加到 asp:textbox。由于某种原因,我的代码找不到登录视图内的文本框。
我做错了什么吗?
<script type="text/javascript">
window.onload = function() {
UserName.Attributes.Add("onKeyDown", "KeyDownHandler('" + btn.ClientID + "')");
Password.Attributes.Add("onKeyDown", "KeyDownHandler('" + btn.ClientID + "')");
}
function KeyDownHandler(btn)
{
if (event.keyCode == 13)
{
event.returnValue=false;
event.cancel = true;
document.getElementById(btn).click();
}
}
</script>
I am trying to add the onkeydown attribute to an asp:textbox. For some reason my code can't find the textbox that is inside a loginview.
Am I doing something wrong?
<script type="text/javascript">
window.onload = function() {
UserName.Attributes.Add("onKeyDown", "KeyDownHandler('" + btn.ClientID + "')");
Password.Attributes.Add("onKeyDown", "KeyDownHandler('" + btn.ClientID + "')");
}
function KeyDownHandler(btn)
{
if (event.keyCode == 13)
{
event.returnValue=false;
event.cancel = true;
document.getElementById(btn).click();
}
}
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您的代码正在尝试在客户端脚本中添加事件处理程序属性。这需要在服务器端代码块中发生。例如:
或者,如果您有代码隐藏页面,请将 attribute.Add 调用放入 PreRender 事件中。
Your code is trying to add the event handler attributes in the client script. This needs to happen in a server-side code block. Something like:
Alternatively, if you have a code-behind page, put the attribute.Add calls in the PreRender event.
在您的 aspx 文件中,添加服务器脚本,该脚本将现有的用户名和密码文本框绑定到名为 KeyDownHandler 的客户端事件处理程序:
然后声明事件处理程序的客户端脚本:
In your aspx file, add the server script that will bind existing UserName and Password textboxes to a client event handler called KeyDownHandler:
Then declare the event handler's client script:
尝试以这种方式连接事件处理程序参数:
Try wiring the event handler parameter this way: