JS表单验证只有第一个IF起作用

functioncheck(){varusername=document.getElementById("username").value;varpass1=docume... function check(){
var username = document.getElementById("username").value;
var pass1 = document.getElementById("password").value;
var pass2 = document.getElementById("confirm_password").value;
var checkcode = document.getElementById("checkcode").value;

if(pass1 != pass2){
alert("两次密码输入不一致!");
return false;
}

if (username == ""|| username == NULL || pass1 == "" || pass1 == NULL || pass2 == NULL || pass2 == "") {
alert("用户名或密码不得为空!");
return false;
}
}

两个IF,只有前面这个起作用,换了位置也是,谁在前谁起作用,第二个就没作用了。
不知道为什么啊!!
展开
 我来答
cmoooo
2016-09-02 · TA获得超过3587个赞
知道小有建树答主
回答量:741
采纳率:0%
帮助的人:666万
展开全部

最主要的原因是:你的 if 判断中有 return 语句


但没有还不行,如果你想让所有的条件都有效,需要修改你的程序结构。


如果想要相关程序,追问下,我再发。

更多追问追答
追问
改成 if(){
}else if(){
}else if(){
}else{
}
还是不行
要怎么写才能达到我要的效果。
谢谢!
追答
function check(){
    var username = document.getElementById("username").value;
    var pass1 = document.getElementById("password").value;
    var pass2 = document.getElementById("confirm_password").value;
    var checkcode = document.getElementById("checkcode").value;

    ind = false; //做个出错标记
    str = "";    //定义空字符串

    //如果两次密码不一致,打标,并加入提示
    if(pass1 != pass2){
        str += "两次密码输入不一致!";
        ind = true;
    }

    //如果存在空输入,打标,并加入提示
    if (username == "" || pass1 == "" || pass2 == "") {
        str += "用户名或密码不得为空!";
        ind = true;
    }

    //无论出现以上任何错误,都将 return false(停止提交),并且提示错误信息,提示的错误信息可以是以上任意一个,也可以是全部。
    if(ind){
        alert(str);
        return false;
    }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式