我有以下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表单提交。任何一种解决方案都是可以接受的,但上面包含的代码不会阻止表单提交。
当前回答
当文件完成时(加载完成),脚本检测“Entry”键的每个事件,并禁用后面的事件。
<script>
$(document).ready(function () {
$(window).keydown(function(event){
if(event.keyCode == 13) {
e.preventDefault(); // Disable the " Entry " key
return false;
}
});
});
</script>
其他回答
更短:
$('myform').submit(function() {
return false;
});
下面的代码将禁止在提交表单时使用enter键,但仍然允许在文本区域中使用enter键。您可以根据需要进一步编辑它。
<script type="text/javascript">
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && ((node.type=="text") || (node.type=="radio") || (node.type=="checkbox")) ) {return false;}
}
document.onkeypress = stopRKey;
</script>
简单的方法是在html中更改按钮的类型,然后在js中添加事件…
改变如下:
<form id="myForm">
<button type="submit">Submit</button>
</form>
To
<form id="myForm">
<button type="button" id="btnSubmit">Submit</button>
</form>
在js或jquery中添加:
$("#btnSubmit").click(function () {
$('#myForm').submit();
});
在firefox中,当你按下input并按下enter,它会提交它的上层形式。解决方案是在提交表单中添加以下内容:
<input type="submit" onclick="return false;" style="display:none" />
3年过去了,没有一个人能完全回答这个问题。
请求者希望取消默认的表单提交并调用自己的Ajax。这是一个简单的要求和简单的解决方案。不需要拦截每个输入中的每个字符。
假设表单有一个提交按钮,无论是<button id="save-form">还是<input id="save-form" type="submit">,执行:
$("#save-form").on("click", function () {
$.ajax({
...
});
return false;
});