Cita de: WHK en 6 Junio 2013, 15:36 PM
Eso de utilizar alertas en campos vacios es de cavernicolas, lo que debes hacer es crear un evento onblur del input donde si el campo está vacio entonces mostrar un pequeño texto de color rojo al costado derecho diciendo que el campo es requerido, luego desde el código dinámico (cgi, php, asp) debes volver a verificar que estos campos no vengan vacios porque recuerda que hay un gran porcentaje de usuarios en todo el mundo que navegan sin javascriopt y puedes abrir una brecha de seguridad importante.
En jQuery sería algo así:Código (javascript) [Seleccionar]$(document).ready(function(){
$('#input_1').blur(function(){
if($(this).text() == '')
$('#leyenda_error_1').fadeIn();
else
$('#leyenda_error_1').fadeOut();
});
});
Acá te dejo un demo que hice:
http://jsfiddle.net/dA6Qd/Código (html4strict) [Seleccionar]<style type="text/css">
#action > p > span{ color: red; display: none; }
</style>
<script type="text/javascript">
$(document).ready(function(){
$('#action > p > input').blur(function(){
if($(this).val() == '')
$('#leyenda_' + $(this).attr('name')).fadeIn();
else
$('#leyenda_' + $(this).attr('name')).fadeOut();
});
$('#action').submit(function(){
$(this).find('input').blur();
if($(this).find('span:visible').length)
return false;
});
});
</script>
<form action="#" method="post" id="action">
<p><input type="text" name="nombre" /> : Nombre <span id="leyenda_nombre">(El nombre es obligatorio)</span></p>
<p><input type="text" name="mail" /> : Mail <span id="leyenda_mail">(El correo es obligatorio)</span></p>
<p><input type="submit" value="Enviar datos" /></p>
</form>
Lo genial es que es compatible con todos los navegadores existentes.
Pues muchas gracias WHK. Esta tarde me pondré manos a la obra a hacer pruebas con tu ejemplo. Se agradece de verdad tu aclaración de los usuarios que llevan noscript
![:) :)](https://forum.elhacker.net/Smileys/navidad/smiley.gif)