Javascript:输入按键

时间:2009-08-05 05:20:48

标签: asp.net javascript keypress enter

早上好......

我在每个页面中使用java脚本来触发 Enter 键按下文本框内的事件。 它工作正常。现在我想将代码放在.js文件中以进行全局访问。

 function EnterKeyPress(id,e) {
       // look for window.event in case event isn't passed in
       if (window.event) { e = window.event; }
       if (e.keyCode == 13 || e.keyCode == 121) {

           window.document.getElementById('<%= ibtnSubmit.ClientID %>').click();
       } 
   }

我不想硬编码控件ID。请有人帮帮我..

3 个答案:

答案 0 :(得分:9)

您可以使用 id 参数代替ControlID,当您在页面中使用此功能时,可以将ControlID作为参数传递:

function EnterKeyPress(id,e) {
  if (window.event) { e = window.event; }
   if (e.keyCode == 13 || e.keyCode == 121) {
     document.getElementById(id).click();
   }
}

您正在使用ASP .NET,因此在您的代码隐藏中,您可以分配按键事件:

TextBox1.Attributes.Add("onkeypress",
                      string.Format("EnterPressKey('{0}', event);", ibtnSubmit.ClientID));

但是等等,该功能已在ASP .NET上完成,您可以使用ASP:Panel控件来包装常用控件,并且可以为面板指定DefaultButton以指示单击哪个按钮当Panel控件具有焦点并且用户按下 Enter 键时。

答案 1 :(得分:0)

如果你正在使用jQuery,你可以这样做:

$("input[id*=ibtnSubmit]").click()

答案 2 :(得分:0)

如果您希望在用户按 Enter 键时提交表单,则您不需要javascript。它会自动完成。只需将文本框放在带有操作的表单元素中:

<form action="process.php">
  <input type="text">when the enter key is pressed, the form is submitted and sent to process.php</input>
</form>