views:

280

answers:

3

I have an ASP.NET application where there's a few ASP.NET buttons and several plain HTML buttons.

Anytime there's a textbox where a user hits enter, the ASP.NET button trys to submit the form.

I know I can change the defaultButton, but I don't want there to be any default button. I just want it so when the user presses enter it doesn't do anything.

I've tried setting defaultButton to blank, but that doesn't seem to work and I can't seem to find the answer anywhere on the web.

What's the code to make this happen?

Thanks.

+2  A: 

use OnKeyDown handler on <body> tag of your page. The javascript code should be:

if (window.event.keyCode == 13) 
{
    event.returnValue=false; 
    event.cancel = true;
}

Using JavaScript to prevent or trigger form submission when ENTER is hit http://www.cs.tut.fi/~jkorpela/forms/enter.html

Robert Harvey
+4  A: 

You can set the button's UseSubmitBehavior = "false"

David Stratton
That does indeed produce the behaviour needed: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.usesubmitbehavior.aspx
Zhaph - Ben Duguid
Perfect, thank you. Not sure why I couldn't find that answer through Google. I guess I was just asking the wrong question.
Ryan Smith
+1  A: 

Here is what I used to fix this problem.

<form runat="server" defaultbutton="DoNothing">
        <asp:Button ID="DoNothing" runat="server" Enabled="false" style="display: none;" />
Lone Coder