如何在没有for循环的情况下打破条件

时间:2018-02-18 08:48:27

标签: javascript html forms

//Controller le nom et prenom
                NomPrenom = document.F1.T1.value;
                if(NomPrenom === "") {
                    alert('Le champ Nom et Prenom ne doit pas être vide');
                }
                NomPrenomArray = NomPrenom.split("");
                for (i=0; i<=NomPrenomArray.length; i++) {
                    if (isNaN(NomPrenomArray[i]) === false) {
                        alert("Nom et Prenom doit être une chaine");
                    }
                }

                //controller l'âge
                Age = document.F1.T2.value;
                if(Age === "") {
                    alert("le champ age est obligatoire");
                }
                if(isNaN(Age) === true) {
                    alert("le champ age doit être un valeur numerique seulement");
                }
                if((Age<20) || (Age>30)) {
                    alert("l'age doit être supérieur ou egale a 20 et inférieur ou egale a 30");
                }
  
    

如果一个条件为假,它将继续显示其他条件。

  

如何避免这种情况(例如name input == "")然后它将显示第一个警报和第二个警报等... 但我希望它只能在虚假警报下停止,你能帮忙并感谢你!

3 个答案:

答案 0 :(得分:0)

解决这个问题的一种方法是将所有代码放在一个函数中,并在想要排除其余代码时添加return

//Controller le nom et prenom
function validate() {
    var NomPrenom = document.F1.T1.value; // Declare!
    if (NomPrenom == "") {
        alert('Le champ Nom et Prenom ne doit pas être vide');
        return;
    }
    var NomPrenomArray = NomPrenom.split(""); // Declare!
    for (var i=0; i<=NomPrenomArray.length; i++) { // Declare i!!
        if (!isNaN(NomPrenomArray[i])) { // Use `!`
            alert("Nom et Prenom doit être une chaine");
            return;
        }
    }

    //controller l'âge
    var Age = document.F1.T2.value; // Declare
    if (Age == "") {
        alert("le champ age est obligatoire");
        return;
    }
    if (isNaN(Age)) { // No need for `== true`
        alert("le champ age doit être un valeur numerique seulement");
        return;
    }
    if (Age<20 || Age>30) {
        alert("l'age doit être supérieur ou egale a 20 et inférieur ou egale a 30");
        return;
    }
    return true; // All OK
}

然后确保在正确的位置调用此函数:

validate();

注意:alert s真的不是用户友好的。考虑在页面本身输出错误消息,可能是红色,在具有验证错误的input元素附近。

答案 1 :(得分:0)

您可以使用以下内容:

boolean default = false;

while(!default) {
  /*  
   *  all your logic will go here and then
   *  make it as true, where you want to break it
   */
  default = true;
}

答案 2 :(得分:0)

这应该有效:

function verif1() {

    NomPrenom = document.F1.T1.value;
    NomPrenomArray = NomPrenom.split("");
    Age = document.F1.T2.value;

    //Controller le nom et prenom
    if (NomPrenom == "") {
        alert('Le champ Nom et Prenom ne doit pas être vide');
    } else if {
        for (i = 0; i <= NomPrenomArray.length; i++) {
            if (isNaN(NomPrenomArray[i]) == false) {
                alert("Nom et Prenom doit être une chaine");
            }
        } else if (Age == "") {
            alert("le champ age est obligatoire");
        } else if (isNaN(Age) == true) {
            alert("le champ age doit être un valeur numerique seulement");
        } else if ((Age < 20) || (Age > 30)) {
            alert("l'age doit être supérieur ou egale a 20 et inférieur ou egale a 30");
        }
    }
}