我有以下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>
其他回答
我听说哪个是不推荐的,所以把最佳评分的答案改成这个。
$('#formid').on('keyup keypress', function(e) {
if (e.key === 'Enter') {
e.preventDefault();
return false;
}
});
引用https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/which
如果keyCode未被捕获,则捕获哪个:
$('#formid').on('keyup keypress', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode === 13) {
e.preventDefault();
return false;
}
});
编辑:错过了它,最好使用键up而不是按键
编辑2:在一些较新版本的Firefox中,表单提交不会被阻止,因此在表单中添加按键事件会更安全。它也不能工作(不再?),只是将事件绑定到表单“name”,但只绑定到表单id。因此,我通过适当地更改代码示例使这一点更加明显。
修改bind()为on()
$('form').keyup(function(e) {
return e.which !== 13
});
该事件。哪个属性规范化事件。keyCode和event.charCode。建议观看赛事。其中用于键盘按键输入。
文档。
简单的方法是在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();
});
当文件完成时(加载完成),脚本检测“Entry”键的每个事件,并禁用后面的事件。
<script>
$(document).ready(function () {
$(window).keydown(function(event){
if(event.keyCode == 13) {
e.preventDefault(); // Disable the " Entry " key
return false;
}
});
});
</script>