Search code examples
htmlvbakeyenter

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 my login form.


Solution

  • 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();
       }
     }