我在asp mvc页面中有以下代码
$('#regForm').submit(function (event) {
if (event.keyCode == '13') {
event.preventDefault();
}
});
目的是防止在按下输入时提交表单。
我们注意到在ie 11中,这不起作用,并且在通过debug进入代码时,event.keycode为null。我一直在研究这个问题,这似乎是一个问题,因为我们在页面上有IE-8兼容性元标记,这意味着event.keyCode(和event.which)为事件返回undefined,并且所以我的表格总是提交。
那么如何重写这个以解决问题?
答案 0 :(得分:1)
您需要使用按键事件,而不是表单提交
$('#regForm').keypress(function (event) {
if (event.keyCode == 13) {
event.preventDefault();
}
});
答案 1 :(得分:0)
对元素使用 type =“button” 属性 因此 IE 认为按钮是一个简单的按钮,而不是提交按钮。
所以表格不会提交
您还可以从以下网址获取更多详细信息
http://tjvantoll.com/2013/01/01/enter-should-submit-forms-stop-messing-with-that/
答案 2 :(得分:0)
尝试这样的事情,使用window.event:
$('#regForm').submit(function (e) {
var keyCode = (window.event) ? e.which : e.keyCode;
if (keyCode == '13') {
e.preventDefault();
}
});
答案 3 :(得分:0)
$('#regForm').keypress((event) => {
if (event.key === "Enter") {
event.preventDefault();
}
});