I have a webpage with a Master. The master contains
search1Button with PostBackUrl="~/Search.aspx"
The child page contains
search2Button with onclick="btnSearch_Click"
When a user hits <enter> search1Button will execute.开发者_如何学Go When nothing is active I can see how search1Button can be viewed as the default. But, when the active textbox is say
search2TextBox
Things can be a little confusing when suddenly search1Button executes instead of search2Button.
A. How does the page decide what executes?
B. Does this have anything to do withForms? If yes, does having only 1 Form limit my ability to control the situation (I cannot add more forms due to major problems experienced by me and discussed on SO with nested forms)? You can use the DefaultButton attribute of the form.
You can do this using JavaScript, here is how can you do this..
FirstTextBox.Attributes.Add("onkeypress", "SetDefaultButton(this,'" + SearchButton1.ClientID + "')");
SecondTextBox.Attributes.Add("onkeypress", "SetDefaultButton(this,'" + SearchButton2.ClientID + "')");
function SetDefaultButton(objTextBox,objBtnID)
{
if(window.event.keyCode==13)
{
document.getElementById(objBtnID).focus();
document.getElementById(objBtnID).click();
}
}
</script>
加载中,请稍侯......
精彩评论