Hola!
He probado esta solucion que he visto en la faq: (copio tal cual)
124.- Controlar que se rellenan todos los campos
--------------------------------------------------------------------------------
P.- ¿Cómo indicar a un visitante de un formulario que se ha dejado campos sin rellenar?
R.- Estando delante cuando lo rellene o de esta manera:
Se pueden poner todos los campos que se quiera.
Código PHP:
<html>
<head>
<script>
//Script original de KarlanKas para Forosdelweb.com
function comprobar(){var mal=false;
numero=document.forms[0].elements.length;
for(a=0;a<numero;a++){
if (document.forms[0].elements[a].value==""){document.forms[0].elements[a].style.backgroundColor="#ffffcc";mal=true;}
else{document.forms[0].elements[a].style.backgroundColor="white";}
}
if(mal){alert("Por favor, rellene las cajas coloreadas");}
else{document.forms[0].submit()}
}
</script>
</head>
<body>
<form action="javascript:alert('enviando')"
method="post"
name="formulario"
id="formulario"
style="font:normal 10px/10px verdana;border:solid 1px black;text-align:right;width:300px;"
>
Nombre: <input type="text"
name="cosa"
id="cosa"><br>
Apellidos: <input type="text"
name="cosa"
id="cosa"><br>
Dirección: <input type="text"
name="cosa"
id="cosa"><br>
Nombre del perro: <input type="text"
name="cosa"
id="cosa"><br>
Pais: <input type="text"
name="cosa"
id="cosa"><br>
Conocidos con perro: <input type="text"
name="cosa"
id="cosa"><br>
<input onclick="comprobar()"
type="button"
name="enviar"
value="Enviar!">
el caso es que me detecta tanto los texty box como los radio button vacios, pero el problema es que, me da el mensaje de error, de que faltan campos por rellenar; pero despues, al aceptar, lo envia igualmente..
Como puedo hacer para que vuelva al formulario, en lugar de irse a la pagina siguiente al submit???