Toutes mes instructions if fonctionnent seules, mais lorsque je les ai toutes dans la fonction, je n'arrive pas à les faire fonctionner toutes.La fonction JavaScript avec plusieurs instructions if ne fonctionne pas
function validate()
{
var x = document.forms["myForm"]["patientName"].value;
var y = document.forms["myForm"]["patientId"].value;
var z = document.forms["myForm"]["patientEmail"].value;
var yL = y.toString().length;
var search1 = z.search("@");
var search2 = z.search(".");
if (myForm.emailReceipt.checked == true) {
if (x == "" || y == "" || Z == ""){
alert("Name, ID, and Email must be filled out");
}else if (search1 == -1 || search2 == -1){
alert("Please submit a valid email address");
}
if ((myForm.emailReceipt.checked == false) && (x == "" || y == "")) {
alert("Name and ID must be filled out");
}
if (yL !== 8){
alert("ID must be 8 digits long");
}
}
'Z == « »' devrait être 'z == « »' (minuscule). – llama
Il n'est pas clair si 'if (myForm.emailReceipt.checked == true) {' devrait retourner immédiatement ou non parce qu'il n'est pas fermé. Si cette condition doit se fermer sur toutes les autres conditions alors 'if ((myForm.emailReceipt.checked == false) && ....' ne fonctionnera jamais – hayavuk
Je pense aussi que ce validateur valide inutilement trop de choses à la fois. de cela, vous rencontrez le test de 'x',' y', de 'z' étant vide, suivi d'un test pour' x' ou 'y' étant vide un peu plus tard, ce qui est redondant. le validateur en trois champs spécifiques, puis écrire un validateur qui les compose – hayavuk