Javascript jQuery-当条件为true时如何取消表单提交防止默认值
我有一个联系人表单,我在点击提交按钮时检查输入值,如果至少有一个输入为空,我运行警报并阻止表单提交,否则,我返回true 我这里的问题是,当我故意省略输入时,我得到了我想要的,但是如果我填写了所有输入,我就不能再提交表单了Javascript jQuery-当条件为true时如何取消表单提交防止默认值,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个联系人表单,我在点击提交按钮时检查输入值,如果至少有一个输入为空,我运行警报并阻止表单提交,否则,我返回true 我这里的问题是,当我故意省略输入时,我得到了我想要的,但是如果我填写了所有输入,我就不能再提交表单了 jQuery(document).ready(function () { jQuery('#envoyez').on('click', function () { jQuery(':input').each(function () {
jQuery(document).ready(function () {
jQuery('#envoyez').on('click', function () {
jQuery(':input').each(function () {
const val = jQuery.trim(jQuery(this).val());
if (val.length == 0) {
alert('Fill all the inputs please');
jQuery("form").submit(function(e){
e.preventDefault();
});
} else {
return true;
}
})
})
})
谢谢您应该在
.ready()
函数中声明表单事件侦听器。然后创建一个处理表单有效性的变量
jQuery(document).ready(function () {
// count the number of inputs that are filled.
var clearCount = 0;
jQuery("form").submit(function(e) {
// here check if clearcount is not equal to the number of fields
if (clearCount != jQuery(':input').length)
{
// this means that one of the fields are not filled
e.preventDefault();
return false;
}
});
jQuery('#envoyez').on('click', function () {
// reset clearcount for revalidation
clearCount = 0;
jQuery(':input').each(function () {
const val = jQuery.trim(jQuery(this).val());
// check if input is not empty.
if (val.length > 0) {
clearCount++;
}
})
})
});
这只是一种解决问题的简单方法,但如果您想要一种更好的方法,您可以简单地:
jQuery(document).ready(function () {
jQuery("form").submit(function(e) {
// check if one of the fields are empty
// and so on
if ( jQuery(this).find("input[name='NAME1']").val().length == 0
|| jQuery(this).find("input[name='NAME2]").val().length == 0
|| jQuery(this).find("input[name='NAME3']").val().length == 0)
{
// this means that one of the fields are not filled
e.preventDefault();
return false;
}
});
});
希望这能从另一个方面有所帮助:
$(“#myForm”).submit(函数(e){
e、 预防默认值();
//检查所有空白字段。返回true或false
var isBlankInput=$(“#myForm input”).filter(函数(){return$.trim($(this.val())).length==0}.length==0;
如果(!isBlankInput){
警报(“请填写所有输入”);
返回false;
}
其他的
{
警报(“表格提交”);
//$(this.submit();
}
});代码>