我有一个aspx页面,它不应该回发。页面上有两个文本框,两个列表框和两个按钮。如果在任意点按下回车键,则第一个按钮被给予焦点并“点击”,导致列表框中的选择丢失。
如何禁用此功能?有很多关于如何捕获输入按钮和执行方法的教程,但我可以找到一个如何简单地禁用整洁的“让我抓住我找到的第一个按钮并单击它”功能。
答案 0 :(得分:32)
如果我想完全阻止回传,我希望第二个。
答案 1 :(得分:25)
如果是这样的话:
$(document).keypress(function(e)
{
if(e.keyCode === 13)
{
e.preventDefault();
return false;
}
});
答案 2 :(得分:7)
使用以下代码禁用输入密钥以导致回发。这段代码将阻止上面所有浏览器4.0中的回车键,除非在Textarea或Submit按钮本身按下enter键。
<script language="JavaScript">
var nav = window.Event ? true : false;
if (nav) {
window.captureEvents(Event.KEYDOWN);
window.onkeydown = NetscapeEventHandler_KeyDown;
} else {
document.onkeydown = MicrosoftEventHandler_KeyDown;
}
function NetscapeEventHandler_KeyDown(e) {
if (e.which == 13 && e.target.type != 'textarea' && e.target.type != 'submit') {
return false;
}
return true;
}
function MicrosoftEventHandler_KeyDown() {
if (event.keyCode == 13 && event.srcElement.type != 'textarea' &&
event.srcElement.type!= 'submit')
return false;
return true;
}
</script>
答案 3 :(得分:2)
只将它放在ASP.Net TextBox控件上:
<asp:TextBox ID="TextBox1" runat="server"
onkeydown = "return (event.keyCode!=13);" >
</asp:TextBox>
答案 4 :(得分:1)
这是Web应用程序的默认行为,您可以通过放弃提交来获取您找到的其中一个教程并隐藏该行为。
答案 5 :(得分:1)
<body onkeydown = "return (event.keyCode!=13)">