屏幕上有多个表单,其中一个有一个输入(提交)。 该输入的 JS 绑定(bind)点击事件是:
$('input#next').click(function(e){
e.preventDefault();
e.stopPropagation();
... some other checks ...
bSubmit = dateField.val().match(/\d{2}\/\d{2}\/\d{4}/);
return bSubmit;
});
问题是表单无论如何都会发送,这是不应该发生的。
最佳答案
如果返回的bSubmitp
值不是 false,则将提交表单
。
通过返回 true
,您可以说该按钮必须正常工作,并且是有意的...
-提交按钮用于发送表单-
如果您想不惜一切代价禁用,我建议预定义return false
。
可能是:
-
<form onsubmit="return false">
在您的 javascript 中像现在一样的功能,但创建一个条件 return值,例如:
<form onsubmit="return yourFunction()">
与 jquery像:
$('form').submit(function() { // do stuff return false; });
其他..
编辑
此外..您可以将输入类型:提交
更改为按钮
然后使用 jQuery
发送表单(验证后)。
并且为了防止按下enter键时提交表单,正如@Daniel Lisik指出的那样...
需要完成两个条件(没有javascript)
- 没有表单中存在
输入类型:提交
按钮 - 多个输入字段。
关于javascript - jQuery 防止提交输入发送表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21715330/