views:

4715

answers:

4

Hey,

I'm trying to get a specific asp:button onclick event to fire when I press the enter key in a specific asp:textbox control.

The other factor to be taken into account is that the button is within a asp:Login control template.

I've no idea how to do this, suggestions on a postcard please.

A: 

You need to do it with javascript. It's really easy with jQuery.

You can do something like (off the top of my head, not tested):

$('#myTextBox').keypress(function(e){
    if(e.which == 13)
        $('#myBtn').click();
});

Edit: Be aware that although jQuery works exceptionally cross browser, there are some quirks with keypress described here.

Whoops i didnt see you said the "enter key" i thought you said "any key", yeah in that case use DefaultButton on asp:panel

Andrew Bullock
You don't need to do this with javascript.
David Kemp
+3  A: 

You could look at the DefaultButton property of the panel control.

David Kemp
+1  A: 

Its HtmlForm.DefaultButton

Incidently
+2  A: 

You could set the DefaultButton property on the form. Either as an attribute of the form tag in your markup DefaultButton = "btnSubmit" or using something like this in your code-behind:

Page.Form.DefaultButton = "btnSubmit"
Andrew Van Slaars