[英]jQuery Prevent submit input to send form
在屏幕上显示了几种形式,其中一种形式具有输入(提交)。 该输入的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">
在您现在的javascript函数中,但是创建一个条件返回值,例如:
<form onsubmit="return yourFunction()">
与jquery一样:
$('form').submit(function() { // do stuff return false; });
其他..
另外..您可以更改input type:submit
只需input type:submit
一个button
然后使用jQuery
发送表单(验证后)。
并防止在按下回车键时提交表单,因为@Daniel Lisik指出了...
需要完成两个条件(没有javascript)
input type:submit
表单中存在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() {
// ...
});
});
然后,您可以在下面添加自己的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.