我有以下javascript在我的页面似乎不工作。
$('form').bind("keypress", function(e) {
if (e.keyCode == 13) {
e.preventDefault();
return false;
}
});
我想在进入时禁用提交表单,或者更好的是,调用我的ajax表单提交。任何一种解决方案都是可以接受的,但上面包含的代码不会阻止表单提交。
我有以下javascript在我的页面似乎不工作。
$('form').bind("keypress", function(e) {
if (e.keyCode == 13) {
e.preventDefault();
return false;
}
});
我想在进入时禁用提交表单,或者更好的是,调用我的ajax表单提交。任何一种解决方案都是可以接受的,但上面包含的代码不会阻止表单提交。
当前回答
3年过去了,没有一个人能完全回答这个问题。
请求者希望取消默认的表单提交并调用自己的Ajax。这是一个简单的要求和简单的解决方案。不需要拦截每个输入中的每个字符。
假设表单有一个提交按钮,无论是<button id="save-form">还是<input id="save-form" type="submit">,执行:
$("#save-form").on("click", function () {
$.ajax({
...
});
return false;
});
其他回答
$(document).on('keyup keypress', 'form input[type="text"]', function(e) {
if(e.which == 13) {
e.preventDefault();
return false;
}
});
这个解决方案适用于网站上的所有表单(也适用于插入ajax的表单),只防止输入文本中的输入。把它放在文档就绪函数中,然后永远忘记这个问题。
如果你只是想在进入和提交按钮时禁用提交,也可以使用表单的onsubmit事件
<form onsubmit="return false;">
你可以将“return false”替换为调用JS函数,该函数将执行所需的任何操作,并将提交表单作为最后一步。
$('#FormID').on('keyup keypress', function (e) {
var keyCode = e.keyCode || e.which;
if (keyCode === 13) {
e.preventDefault();
return false;
}
});
3年过去了,没有一个人能完全回答这个问题。
请求者希望取消默认的表单提交并调用自己的Ajax。这是一个简单的要求和简单的解决方案。不需要拦截每个输入中的每个字符。
假设表单有一个提交按钮,无论是<button id="save-form">还是<input id="save-form" type="submit">,执行:
$("#save-form").on("click", function () {
$.ajax({
...
});
return false;
});
$('form').keyup(function(e) {
return e.which !== 13
});
该事件。哪个属性规范化事件。keyCode和event.charCode。建议观看赛事。其中用于键盘按键输入。
文档。