Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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
Jquery 验证表单?_Jquery_Submit_Validating - Fatal编程技术网

Jquery 验证表单?

Jquery 验证表单?,jquery,submit,validating,Jquery,Submit,Validating,我试图在有人正确填写我的表格后发送一个警告,说“谢谢注册”,但即使填写表格时出错,有时它仍然会说“谢谢注册”。我正在使用jQuery 有人能告诉我他们的想法吗 HTML: 表单 验证器 您的姓名 您的密码 重新输入密码 您的电子邮件 提交 JS: $(文档).ready(函数(){ //验证表单********************** $(“#提交”)。单击(函数(){ if($('#username').val().length==0){ 警告(“请输入您的姓名”)、$(“#用户名”)

我试图在有人正确填写我的表格后发送一个警告,说“谢谢注册”,但即使填写表格时出错,有时它仍然会说“谢谢注册”。我正在使用jQuery

有人能告诉我他们的想法吗

HTML:

表单
验证器

您的姓名

您的密码

重新输入密码

您的电子邮件

提交
JS:

$(文档).ready(函数(){
//验证表单**********************
$(“#提交”)。单击(函数(){
if($('#username').val().length==0){
警告(“请输入您的姓名”)、$(“#用户名”).css('background'、'rgba(0,0600,0.3');
}否则{
$('#username').css('background','rgba(0,0,0,0.3');
};
if($('#password').val().length==0){
警报(“请输入您的密码”)、$(“#密码”).css('background'、'rgba(0,0600,0.3')、$('#verify').css('background'、'rgba(0,0600,0.3');
}else if($('#password').val().长度4&&
$('#password').val().length!==0&&
$('#验证').val().length>4&&
$('#验证').val().length!==0&&
$('#username').val().length>0&&
$('#username').val().length!==0&&
$('#email').val().length!==0&&
$('#email').val().length>0&&
$('#password').val()===$('#verify').val()){
提醒(“谢谢注册!”)
}
});
//结束验证表单**********************

干杯。

这是因为if语句的结构。在当前的设计中,表达式与表达式列表一起使用以确定逻辑状态。但是,当在表达式中使用逗号分隔列表时,它不会生成,它只会一次计算一个

因此,最后一个值是与if语句中的true进行比较的值。这意味着此值为true

if((false,false,false,true)===true)alert("true");
因此,为了显示“感谢注册”警报,所有必须真实的是

$('#password').val() === $('#verify').val()
实际上你可能想要这个

if ($('#password').val().length > 4 && 
    $('#password').val().length !== 0 &&
    $('#verify').val().length > 4 &&
    $('#verify').val().length !== 0 &&
    $('#username').val().length > 0 &&
    $('#username').val().length !== 0 &&
    $('#email').val().length !== 0 &&
    $('#email').val().length > 0 &&
    $('#password').val() === $('#verify').val()){
       alert("Thanks For Registering!")
}

我认为您的单击函数应该接受eventObject e,这样您就可以调用e.preventDefault()。您从未取消过将提交表单的单击事件。
$('#password').val() === $('#verify').val()
if ($('#password').val().length > 4 && 
    $('#password').val().length !== 0 &&
    $('#verify').val().length > 4 &&
    $('#verify').val().length !== 0 &&
    $('#username').val().length > 0 &&
    $('#username').val().length !== 0 &&
    $('#email').val().length !== 0 &&
    $('#email').val().length > 0 &&
    $('#password').val() === $('#verify').val()){
       alert("Thanks For Registering!")
}