J'ai 3 champs de saisie avec du texte. Je souhaite utiliser une instruction IF avec des opérateurs logiques pour vérifier si l'un des champs d'entrée est vide, mais je ne peux pas utiliser ou (||) pour les 3 variables.
Quelle est la bonne façon d'utiliser des opérateurs logiques? P>
let name = $("#name").val();
let email = $("#email).val();
let color = $("#color).val();
if(name == '' && ( email == '' || color == '') {
console.log("please complete form");
}
else {
//submit data
}
3 Réponses :
Utilisez Vous n'avez pas besoin du Notez que la comparaison d'égalité stricte ( parce que || code> pour chacun: () code> des groupements parce que l'ordre des opérations n'a pas T Matière - Vous voulez juste voir si tout em> des tests réussissent. p> === code>) est presque toujours toujours Préférable par rapport à la comparaison de l'égalité abstraite ( == code>). p> .val () code> retourne toujours une chaîne et vous souhaitez vérifier contre la chaîne vide. , vous pouvez simplement vérifier si la valeur est en vérité ou non, si vous le souhaitez: p>
C'est vraiment utile! Merci.
Une chaîne vide est considérée comme «FALSY» qui signifie qu'il est interprété comme faux code> lorsque vous utilisez des opérateurs logiques. Utilisation de cette connaissance combinée avec l'opérateur ! Code> (non), nous pouvons le faire: if(!name || !email || !color) {
console.log("please complete form");
}
Vous avez eu une erreur de syntaxe (a oublié une parenthèse dans l'instruction si code>).
Vous n'avez peut-être pas besoin de JS. Il suffit de faire ces champs
requis code> et cela devrait faire.Aussi avez-vous essayé:
si (nom == '' || e-mail == '' || couleur == '') code>Votre code est "Si le nom est vide et que l'e-mail ou la couleur est vide". Ce n'est pas si aucun d'entre eux est vide.
Pourquoi vous dites que vous ne pouvez pas utiliser le ou l'opérateur des trois variables?