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í:
Acá te dejo un demo que hice:
http://jsfiddle.net/dA6Qd/
Lo genial es que es compatible con todos los navegadores existentes.
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.