开发者

Enter key with multiple forms on a website

I have a website with 2 forms. One for search and another for the login. When I use the enter key to submit, the search is always called because it is the first form on the page.

What I want to do is program the enter key to click a certain button when a certain textbox has focus.

I'm using asp:textbox and asp:button for开发者_如何学JAVA my login form.


If you are using asp.net webforms, then you can make use of the Panel control. The Panel control has a DefaultButton property which you set to the ID of an asp.net button control. When any control within that panel gains focus, the default button will be the referenced button.


Create a global variable which tracks what form is in focus:

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

Attach a keyboard handler to the window, look for the Enter key, then when it's hit submit the form that's being focused:

 function globalKeyPressed(event) {
   if (event.keyCode == ENTER) { // This is pseudo-code, check how to really do it
     currentForm.submit();
   }
 }


This worked perfectly:

$('form[name=yourformname]').submit(function(){...});

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜