javascript - 返回 false 后表单仍在提交

标签 javascript jquery

我已添加验证,但即使脚本返回 false,表单仍会提交

表单提交

 <form action=payment.php method=POST name=UserForm id=UserForm onsubmit="return check(this);return false;">    

Javascript

 function check(event) {    

 $('input').each(function() {
    if(!$(this).val()){
        alert('Some fields are empty');
       return false;
    }
   });  


   } 

最佳答案

jQuery each 内的

return false; 不起作用。您正在匿名函数内返回,而不是在函数 check(event) 内返回。 您需要做的是使用一个标志。

function check(event) {  
    var errorFlag = false;
    $('input').each(function() {

        if(!$(this).val()){
            alert('Some fields are empty');
            errorFlag = true;
        }

    }); 

    return !errorFlag;
}

关于javascript - 返回 false 后表单仍在提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21120826/

相关文章:

循环内的 JavaScript 闭包 – 简单的实际示例

javascript - Raphael JS 制作带有悬停工具提示的 map

Rails 4 中的 Javascript 多步骤表单 - 无法提交表单

javascript - 使用其名称而不是索引在组合框中设置选定值

javascript - 取消选中复选框时删除 li 元素

javascript - 在javascript中使用嵌套数组测试两个对象的相等性

javascript - XHR 使用或不使用 gdrive api 下载不同用户的公共(public) google 驱动器文件

javascript - 单击以使用图像填充 Canvas 背景?

javascript - 单击按钮时克隆所有最后一列下拉 javascript

jquery - 如何从长按 jQuery 函数创建自定义动画