Setting
the default Button for a TextBox in ASP.NET
Hitting
the enter key in a TextBox can sometimes have undesired effects
like the wrong submit Button being “clicked“. The method described below allows
you to specify a default Button to submit when the user hits the
enter key in a TextBox.
When you press a key on your keyboard, the js OnKeyPress event is fired. This calls a function to which we pass the id of the button associated with the TextBox. The function gets a reference to the button and simuilates a mouse-click on the Button. We perform a browser detection because IE and Netscape have different event models. The function finally returns false so that the keypress event is cancelled (otherwise a second form submit will be raised). This works with newer versions of IE/Netscape.
When you press a key on your keyboard, the js OnKeyPress event is fired. This calls a function to which we pass the id of the button associated with the TextBox. The function gets a reference to the button and simuilates a mouse-click on the Button. We perform a browser detection because IE and Netscape have different event models. The function finally returns false so that the keypress event is cancelled (otherwise a second form submit will be raised). This works with newer versions of IE/Netscape.
function clickButton(e,
buttonid){
var
evt = e ? e : window.event;
var
bt = document.getElementById(buttonid);
if
(bt){
if (evt.keyCode == 13){
bt.click();
return false;
}
}
}
//code behind
TextBox1.Attributes.Add("onkeypress", "return clickButton(event,'" + Button1.ClientID + "')");
The code behind generates the following code:
TextBox1.Attributes.Add("onkeypress", "return clickButton(event,'" + Button1.ClientID + "')");
The code behind generates the following code:
This causes web control Button1 to be clicked when the enter key is hit inside TextBox1.
No comments :
Post a Comment