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