使用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
}
});