有一个包含多个表单的屏幕,其中一个表单有一个输入(提交)。 该输入的JS绑定点击事件是:
$('input#next').click(function(e){
e.preventDefault();
e.stopPropagation();
... some other checks ...
bSubmit = dateField.val().match(/\d{2}\/\d{2}\/\d{4}/);
return bSubmit;
});
问题是表格无论如何都是发送的,不应该发生。
答案 0 :(得分:2)
如果返回的 bSubmitp
值不是false ,则会提交form
。
使用return true
你说按钮必须正常工作添加是......和
- 提交按钮用于发送表单 -
如果您想不惜一切代价停用,我建议使用预定义的return false
。
可能是:
<form onsubmit="return false">
,但创建条件return值,例如:
<form onsubmit="return yourFunction()">
与jquery类似:
$('form').submit(function() {
// do stuff
return false;
});
其他..
此外..您可以将input type:submit
更改为button
然后使用jQuery
发送表单(验证后)。
当输入键时,为了防止表单提交按 @Daniel Lisik 指出...
需要完成两个条件(没有javascript)
input type:submit
按钮答案 1 :(得分:0)
正如Daniel所说,你应该把你的代码放到jQuery submit
函数
此方法是第一个变体中的.on(“submit”,handler)和第三个变种中的.trigger(“submit”)的快捷方式。
当用户尝试时,提交事件将发送到元素 提交表格。它只能附加到元素上。表格可以 通过单击显式提交, ,或,或按Enter键 当某些表单元素具有焦点时。
https://api.jquery.com/submit/
直接来自jQuery网站的示例代码
$( "#target" ).submit(function( event ) {
alert( "Handler for .submit() called." );
event.preventDefault();
});
答案 2 :(得分:0)
更改按钮类型将禁用从启动时提交的输入:
$(document).ready(function() {
$('input#next').attr("type", "button");
// own code
$('input#next').click( function() {
// ...
});
});
然后您可以在下面添加自己的代码。