Aquí te dejo un proceso típico de comprobación en JavaScript. Si quieres investigar más date una vuelta por
este POST o mándame un privadín
Código:
<html>
<head>
<title>Untitled</title>
<script>
function validaEnvia(nombreForm){
//Kelpie 2007
//Intentamos obtener el objeto formulario...
obj=window.document.getElementById(nombreForm);
if (!obj) obj=window.document.forms[nombreForm];
if (!obj) obj=eval("window.all."+nombreForm);
//Si lo hemos logrado
if (obj){
//Preparamos una variable para mostrar avisos
mensaje="";
//Y un objeto para darle el foco
objFoco=null;
//Vamos comprobando campos
//Un campo que no puede estar vacío
valorCampo=obj.c1.value;
if (valorCampo.length==0){
mensaje+="Debes rellenar el campo xxxxx\n";
//Si no he asigando aún el objFoco lo cargo con este campo
//Para que se acuerde del primero que falló
//Si queremos darle el foco al último basata con quitar el if(!objFoco) en todas
if (!objFoco) objFoco=obj.c1;
}
//Un desplegable en el que la primera opción no es válida
valorCampo=obj.combo.value;
if (valorCampo=="1"){
mensaje+="Debes seleccionar una opción\n";
if (!objFoco) objFoco=obj.combo;
}
//Comprobar si el check está marcado. Si lo está, el campo c2 no puede estar vacío
if(obj.chek.checked){
//Miramos c2...
valorCampo=obj.c2.value;
if (valorCampo.length==0){
mensaje+="Debes rellenar el campo yyyyy si marcas el check\n";
if (!objFoco) objFoco=obj.c2;
}
}
//Si mensaje contiene algo es que no ha pasado la prueba...
if (mensaje!=""){
alert("Revisa el formulario:\n"+mensaje);
if (objFoco) objFoco.focus();
}else{
//Enviar el form
obj.submit();
}
}
}
</script>
</head>
<body>
<form action="" method="post" name="formulario" id="formulario">
Este hay que llenarlo: <input type="text" name="c1">
<br>
Este no hace falta si no se marca el check: <input type="text" name="c2">
<input type="checkbox" name="chek" value="">Marca para obligar a llenar el texto
<br>
<select name="combo">
<option value="1" SELECTED>Selecciona una opción</option>
<option value="2">Uno</option>
<option value="3">Dos</option>
</select>
<br>
<input type="button" value="Enviar" onClick="validaEnvia('formulario');">
</form>
</body>
</html>