Quiziera que al darle clic en el alerta se detega el envio del formulario para que el usuario pueda corregir.
Como se hace tal cosa???
Gracias de antemano!

| |||
Validacion de campos que detenga el envio Hola, tengo un .js que cuando ocurre el clic en el boton del formulario valida si todos los campos estan llenos y con datos validos. en caso contraio muestra un alerta. Quiziera que al darle clic en el alerta se detega el envio del formulario para que el usuario pueda corregir. Como se hace tal cosa??? Gracias de antemano! ![]() |
| |||
Si me sirve gracias. pero solo en IE y no he conseguido que funcion con FF. Sera que FireFox no soporta esa funcion? |
| ||||
Yo estoy usando esto para validar campos impresindilbles, podes ampliar los condicionales, a mi me funciona bien, utilizo formail y solo se envia si se cumplen las validaciones.Saludos Esto va en el Header:
Código:
Y asi te quedaria el Submit<script language="JavaScript"> <!-- Hide function test(form) { if (form.nombre.value == ""){ alert("Por favor, introduzca su nombre!");return false; } if (form.email.value == "" || form.email.value.indexOf('@', 0) == -1){ alert("Su dirección de correo no es válida!");return false; } if (form.apellido.value == ""){ alert("Es importante para nosotros que nos diga su apellido");return false; } if (form.comentarios.value == "" ){ alert("No introdujo ningún comentario o sugerencia!");return false; } document.forms[0].submit(); return true } // --> </script>
Código:
<INPUTname="Enviar" type="submit" id="Enviar" value="Enviar consulta" onclick="test(this.form);return false"> |
| |||
Esto esta en un .js Código HTML: function ValidarPasoI(form){ if (form.dia.value == "") { alert("Por favor ingrese el dia"); form.dia.focus(); return false; } if (form.dia.value < 1 || form.dia.value >31) { alert("Por favor ingrese un dia valido"); form.dia.focus(); return false; } if (form.mes.value == "") { alert("Por favor ingrese el mes"); form.mes.focus(); return false; } if (form.mes.value < 1 || form.mes.value >12) { alert("Por favor ingrese un mes valido"); form.mes.focus(); return false; } if (form.year.value == "") { alert("Por favor ingrese el año"); form.year.focus(); return false; } if (form.year.value < 0) { alert("Por favor ingrese un año valido"); form.year.focus(); return false; } if (form.hipodromo.value == "") { alert("Por favor ingrese el hipodromo"); form.hipodromo.focus(); return false; } if (form.distancia.value == "") { alert("Por favor ingrese la distancia"); form.distancia.focus(); return false; } if (form.distancia.value < 800 || form.distancia.value >3000) { alert("Por favor ingrese su nombre"); form.distancia.focus(); return false; } if (form.serie.value == "") { alert("Por favor ingrese la serie"); form.serie.focus(); return false; } if (form.tiempo.value == "") { alert("Por favor ingrese el tiempo de la carrera"); form.tiempo.focus(); return false; } if (form.tiempo.value < 0 ) { alert("Por favor ingrese un tiempo de carrera valido"); form.tiempo.focus(); return false; } if (form.part.value == "") { alert("Por favor ingrese la cantidad de participantes"); form.part.focus(); return false; } if (form.part.value < 2 || form.part.value >16) { alert("Por favor ingrese un numero de participantes valido"); form.part.focus(); return false; } form.submit(); } Código HTML:
<input type="submit" value="Siguente ->" name="Siguente" onClick="return ValidarPasoI(this.form)"> Para IE funcionna perfectamente, en FF muestra el alerta. pero no detiene el envio. tambien probe usado onsumit pero funciona igual |
| |||
Yo utilizo esta función y funciona con el FireFox: function ValidarDatosDj() { var msj=""; if(document.getElementById("dj").value=="") msj="El identificador del Dj no puede estar vacío \n"; if(document.getElementById("Nombre").value=="") msj+="El Nombre no puede estar vacío \n"; if(document.getElementById("Email").value=="") msj+="El Email no puede estar vacío \n"; if(document.getElementById("pass").value.length<4) msj+="La clave tiene que ser como mínimo de 4 letras \n" if(msj=="") return true; else { alert(msj); return false; } } y le asigno la función a un evento onclick de un botón submit |
| ||||
Hola k-seraph Es mejor que llames a la función en el onsubmit del formulario: <form onsubmit="return ValidarPasoI(this)" En el botón submit no llamas a ninguna función: <input type="submit" value="Siguente ->" name="Siguente" /> Y en la función ya no será necesario que pongas: form.submit(); Espero que te funcione. Saludos, ![]() |
| |||
Gracias JavierB. La coloque como tu dices y funciono con FF Gracias a todos por sus respuestas |