Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript和jQuery进行表单验证_Javascript_Jquery_Html - Fatal编程技术网

使用JavaScript和jQuery进行表单验证

使用JavaScript和jQuery进行表单验证,javascript,jquery,html,Javascript,Jquery,Html,我正在制作一份确认表,如下所示: <form id="registerform" method="post" onsubmit=return checkformdata();> <input type="text" name="fname" value=""/> <input type="text" name="lname" value=""/> <input type="checkbox" name="privacy" valu

我正在制作一份确认表,如下所示:

<form id="registerform" method="post" onsubmit=return checkformdata();>
    <input type="text" name="fname" value=""/>
    <input type="text" name="lname" value=""/>
    <input type="checkbox" name="privacy" value="1"/>
</form>
它也在工作,但警报字段出现两次,例如firstname为空,然后出现firstname警报和checkbox警报。我想在checkformdata()之后显示复选框的警报;功能。是否可以先为javascript指定优先级,然后再为jquery验证指定优先级


提前感谢。

您应该只有一个函数,这是您正在使用的第二种方法。现在调用这两个函数,这不是您想要的。此外,您还可以使用
$
而不是
jQuery

不要使用return false除非你知道自己在做什么。使用preventDefault():


该jQuery代码是
checkformdata()
的内容吗?您向提交事件附加了两个不同的处理程序。它将运行两次。为什么不在同一个地方验证所有内容呢?我正在wordpress中使用其他主题。我看到函数checkformdata()有20到25个文件在那里我没有发现主题文件中的验证代码(很难找到),所以我决定用firebug检查表单id和复选框id。我通过插件使用jquery。(不编辑主题文件)@vicky:检查这个
jQuery(document).ready(function() {
  // Handler for .ready() called.
  jQuery('#registerform').submit(function() {
    if (!jQuery("#privacy").is(":checked")) {
      alert("none checked");
      return false;
    }
  });
});
$('#registerform').submit(function(event) {
    var errorString = [];
    // START VALIDATION
    if ($("#privacy").is(":checked") ) {
        errorString.push("none checked"); // Save for later
    }
    if ($('[name="fname"]').val).length===0) {
        errorString.push("No firstname"); // Save for later
    }
    if ($('[name="lname"]').val).length===0) {
        errorString.push("No lastname"); // Save for later
    }

    // CHECK IF ERRORS ARE FOUND
    if( errorString.length !==0){
        event.preventDefault(); // stop the submitting
        // Do whatever you like with the string, for example;
        alert( "Something went wrong: \n"+errorString.join("\n") ); // alert with newlines 
    }
    // NO ERRORS FOUND, DO SOMETHING
    else{
        // all good. Do stuff now
    }

});