4

I'm working on a asp.net page and I have several buttons in my page, some of them are asp.net buttons, other are HTML input[type=button] elements. HTML buttons are used to make AJAX calls.

When the user press ENTER I need to set as default button one of these HTML buttons, but at the moment the first button in the page is trigged.

Is there a way to set a plain HTML button as default on my form?

davioooh
  • 23,742
  • 39
  • 159
  • 250

4 Answers4

6

Try this :

   // JavaScript Code
   var body = document.getElementsByTagName('body')[0];
    body.onkeydown = function (e) {
        if (e.keyCode === 13) {  //enter key code
         // call your html button onclick code here
        }
    }
Mohit Pandey
  • 3,679
  • 7
  • 26
  • 38
4

I'm using JQuery, so I modified the code in the Mohit Pandey answer:

$("body").keypress(function (event) {
    if (event.which == 13) {
        event.preventDefault();
        // my function
    }
});
davioooh
  • 23,742
  • 39
  • 159
  • 250
1

read this article http://www.codeproject.com/Articles/35180/How-To-set-Default-Button-for-ENTER-key-pressed-ev

you can use it in somewhat this way

<form id="form1" runat="server" defaultbutton="Button1" >
user1643087
  • 643
  • 1
  • 6
  • 11
0

Can you not put the form inside a panel and use the defaultbutton property

<asp:Panel runat="server" DefaultButton="btnSomething"> 
...
</asp:Panel>
Andrew Rayner
  • 414
  • 2
  • 4
  • 13