Validar datos con javascript en php

Tengo un formulario en php y tengo que validar los datos con javascript, tengo una función en javascript que me valida los datos y me devuelve verdadero o falso segundo los datos sean correctos o no. La función la uso cuando doy al botón de submit, así: <FORM ACTION="..." ONSUBMIT="javascript:funcion()"> . La función se llama, pero devuelva lo que devuelva se me va a la dirección del action. ¿Sabes cómo solucionarlo para que si los datos sean falsos no se mueva de la página en que esta?

6 respuestas

Respuesta
1
Seguramente te pasa que el botón de envío lo tienes como "Submit" por lo que te envía el formulario tanto si se cumple la condición como si no.
Haz lo siguiente:
Imagínate una función en JScript:
function checkform() {
//comprobaciones previas
if (error==true) { alert ("Error!!"); }
else { this.formulario.submit(); }
//formulario sería el nombre de tu form
}
Bien, pues dentro del formulario, el botón deberá ser algo como ésto:
<input name="Button" type="button" onClick="javascript:checkform;" value="Enviar">
y seguramente tú lo tengas como <input type="Submit" ...>
Pruébalo y verás como se te soluciona.
Respuesta
1
De una parte el form para validar tendria un aspecto algo así: <form name="form3" method="post" action="registro2.php" onSubmit="ValidarRegistro(this);return document.ResultadoForm"> y la función sería algo asi: <script>function ValidarRegistro(form)
{
var errores="";
with(form){
/* condiciones */
//nomnre
if (Nombre.value==""){
errores+="· Debe ingresar un Nombre.\n ";
}
if (Apellido.value==""){
errores+="· Debe ingresar un Apellido.\n ";
}
/* FIN DE CONDICIONES */
if (errores){
alert("Por favor, revise los siguientes errores:\n"+errores);
document.ResultadoForm=false;
}
else document.ResultadoForm=true;
}
}
-->
</script>
Así es cómo generalmente lo hago y me pasa aveces lo que comentas y esto se debe a que posiblemente tengas un error de escritura, recuerda que js es case sensitive.
Ahora bien, otra cosa: fíjate como llamas tu a tu función y cómo lo hago yo.
Respuesta
1
Debes usar:
return document.MM_returnValue al final de la llamada a tu funcion, y esta funcion que haces debe de devolver un valor de error si no se han completado bien los campos.
Si tienes DW, te lo hace automáticamente.
Suerte!
Respuesta
1
Prueba a poner return antes de la llamada a la función javascript. Ejemplo:
ONSUBMIT="return javascript:funcion()".
Respuesta
1
Estimad@ irene124:
No tienes más que echarle un ojo a una de las páginas Web de mi empresa, donde manejamos scripts como el que deseas, seguro después de un rato vas a comprender como funciona cada función y las cadenas de caracteres que ahí trabajan.
La página web es:
http://www.skynetgs.com/mx/contratandform.htm
Tienes mi permiso para trabajar sobre ese código, siempre y cuando menciones en tu HTML que ese código es del autor: Lucas Barros Pini, http://www.skynetgs.com
Esto porque nuestra página web tiene derechos registrados de autor (en diseño y código), y no tengas problemas con el jurídico de la empresa.
Si tienes más dudas, por favor dímelo, recibe un cordial saludo!.
David Fragoso
CEO Skynet Global Solutions.
Respuesta
se me ocurre en ASP hacer algo como <%if datox=false then
end function (o end Sub o goto salida, o alggo asi)%>
Prueba a ver. Necesitaría información más concreta para intentar resolver tu problema

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas