Javascript ASP.NET:在表单中按Enter键时调用codebehind方法
我有一个asp.net表单,它有3个文本框和一个asp.net链接按钮控件。我想在用户按enter键时调用button click事件处理程序方法。我使用了asp.net面板及其默认按钮属性。它在IE中工作,但在firefox等其他浏览器中不工作。。有没有其他方法可以这样做?这似乎是FF3的一个bug,不确定,但下面给出了修复的脚本 将其保留在页面的末尾,以便覆盖ASP.NET呈现的WebForm_FireDefaultButton方法。 var\uuu defaultFired=false 函数WebForm\u FireDefaultButtonevent,目标{ var元素=event.target | | event.src元素Javascript ASP.NET:在表单中按Enter键时调用codebehind方法,javascript,asp.net,Javascript,Asp.net,我有一个asp.net表单,它有3个文本框和一个asp.net链接按钮控件。我想在用户按enter键时调用button click事件处理程序方法。我使用了asp.net面板及其默认按钮属性。它在IE中工作,但在firefox等其他浏览器中不工作。。有没有其他方法可以这样做?这似乎是FF3的一个bug,不确定,但下面给出了修复的脚本 将其保留在页面的末尾,以便覆盖ASP.NET呈现的WebForm_FireDefaultButton方法。 var\uuu defaultFired=false 函
if (!__defaultFired && event.keyCode == 13 && !(element && (element.tagName.toLowerCase() == "textarea"))) {
var defaultButton;
if (__nonMSDOMBrowser)
defaultButton = document.getElementById(target);
else
defaultButton = document.all[target];
if (defaultButton) {
if(typeof(defaultButton.click) != "undefined")
defaultButton.click();
else
eval(unescape(defaultButton.href.replace("javascript:", "")));
event.cancelBubble = true;
if (event.stopPropagation) event.stopPropagation();
return false;
}
}
return true;
}这似乎是FF3的一个bug,不确定,但下面给出了修复的脚本 将其保留在页面的末尾,以便覆盖ASP.NET呈现的WebForm_FireDefaultButton方法。 var\uuu defaultFired=false 函数WebForm\u FireDefaultButtonevent,目标{ var元素=event.target | | event.src元素
if (!__defaultFired && event.keyCode == 13 && !(element && (element.tagName.toLowerCase() == "textarea"))) {
var defaultButton;
if (__nonMSDOMBrowser)
defaultButton = document.getElementById(target);
else
defaultButton = document.all[target];
if (defaultButton) {
if(typeof(defaultButton.click) != "undefined")
defaultButton.click();
else
eval(unescape(defaultButton.href.replace("javascript:", "")));
event.cancelBubble = true;
if (event.stopPropagation) event.stopPropagation();
return false;
}
}
return true;
}您可以尝试使用DefaultButton属性ASP.Net 2.0及更高版本。ASP.Net窗体和面板控件都具有DefaultButton属性。默认操作意味着enter键应触发按钮单击
<form id="Form1" defaultbutton="SubmitButton" runat="server">
<asp:panel id="panel1" defaultbutton="anotherbutton" runat="server">
</asp:panel>
</form>
有一个已知的FireFox问题可以通过添加:UseSubmitBehavior=False来解决
单击“提交”按钮。这在UpdatePanel中描述了问题和解决方案,在这里也可以
也请检查此选项,其中包含指向其他可能解决方案的链接。您可以尝试使用DefaultButton属性ASP.Net 2.0及更高版本。ASP.Net窗体和面板控件都具有DefaultButton属性。默认操作意味着enter键应触发按钮单击
<form id="Form1" defaultbutton="SubmitButton" runat="server">
<asp:panel id="panel1" defaultbutton="anotherbutton" runat="server">
</asp:panel>
</form>
有一个已知的FireFox问题可以通过添加:UseSubmitBehavior=False来解决
单击“提交”按钮。这在UpdatePanel中描述了问题和解决方案,在这里也可以
另外,请检查此选项,它有指向其他可能解决方案的链接。此选项是否适用于非IE浏览器。我在Firefox中尝试了这一点,但失败了。这在非IE浏览器中有效吗。我尝试了这个,但在Firefox中失败了