我有一个有两个表格的网站。一个用于搜索,另一个用于登录。当我使用enter键提交时,总是调用搜索,因为它是页面上的第一个表单。
我想做的是当某个文本框有焦点时,编程enter键来单击某个按钮。
我使用asp:textbox和asp:button作为登录表单。

最佳答案

创建一个全局变量来跟踪关注的表单:

<script> var currentForm = document.forms[0];</script>
<form ...><input onfocus="currentForm = this.form;"/></form>
<form ...><input onfocus="currentForm = this.form;"/></form>

将键盘处理程序附加到窗口,查找回车键,然后在按下时提交正在聚焦的表单:
 function globalKeyPressed(event) {
   if (event.keyCode == ENTER) { // This is pseudo-code, check how to really do it
     currentForm.submit();
   }
 }

08-18 05:51