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(){...});
精彩评论