corto
Lo que quiero hacer es lo siguiente: En primer lugar, la función validate()
debe comprobar todas las entradas una por una: si no están vacíos (o whitespaced), entonces mover a la declaración if (para verificar los botones de radio) Pero si algunas de las entradas están vacías, detenga la función de validación completa y enfoque la entrada vacía.salida no sólo de la función del niño, sino de la función de los padres toda
Aquí es resultado: http://jsfiddle.net/tt13/y53tv/4/
Sólo tiene que pulsar el botón ok
, verá que terminó en primer lugar la función y los incendios, si es demasiado. Pero quiero salir de la función entera validate() en caso de que haya campo vacío, no sólo de cada función
detallada
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();
})
});
Formato 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>