Sortie non seulement de la fonction d'enfant mais de l'ensemble de la fonction parent
Court
Ce que je veux faire est la suivante: Dans un premier temps, la fonction validate()
doit vérifier toutes les entrées une par une: si elles ne sont pas vides (ou whitespaced) puis passer à l'instruction if (pour la vérification de boutons radio), Mais si certains d'entrées vide, puis arrêter de tout valider la fonction et de se concentrer sur entrée vide.
Voici le résultat: http://jsfiddle.net/tt13/y53tv/4/
Appuyez simplement sur ok
le bouton, vous verrez qu'il a terminé la première fonction et si les feux de trop. Mais je veux quitter de toute la validate() de la fonction dans le cas où le champ vide, non seulement de chaque fonction ()
Détaillée
JS
function validate() {
$('.var_txt').each(function() {
if ($.trim($(this).val()) == '') {
$(this).focus();
return false;
}
});
if (!$(".answer:checked").val()) {
alert("boom");
return false;
}
return true;
}
$(document).ready(function() {
$("#add_question").submit(function(e) {
if (validate()) {
alert("good");
}
e.preventDefault();
})
});
Balisage HTML
<form id="add_question" method="post" action="">
<table>
<tr>
<td class="var_label">
<input class="answer" type="radio" name="answer" value="a" /> a)
</td>
<td>
<input type="text" class="var_txt" name="var_a" />
</td>
</tr>
<tr>
<td class="var_label">
<input class="answer" type="radio" name="answer" value="b" /> b)
</td>
<td>
<input type="text" class="var_txt" name="var_b" />
</td>
</tr>
<tr>
<td class="var_label">
<input class="answer" type="radio" name="answer" value="c" /> c)
</td>
<td>
<input type="text" class="var_txt" name="var_c" />
</td>
</tr>
<tr>
<td class="var_label">
<input class="answer" type="radio" name="answer" value="d" /> d)
</td>
<td>
<input type="text" class="var_txt" name="var_d" />
</td>
</tr>
<tr>
<td class="var_label">
<input class="answer" type="radio" name="answer" value="e" /> e)
</td>
<td>
<input type="text" class="var_txt" name="var_e" />
</td>
</tr>
</table>
<input type="submit" name="submit" value="ok" />
</form>
Vous devez vous connecter pour publier un commentaire.
Ajouter un indicateur qui doit être faux pour continuer.
Définir un indicateur au début de votre validation:
var broken = false;
. À l'intérieur de laeach
, juste avantreturn false;
, ajouterbroken = true;
. Puis, après votreeach
code ajouterif( broken) return false;
Comme ça?
Ajouter une variable qui vérifie si les conditions sont remplies.