![]() |
validar campos Hola a todos: Espero que alguien me pueda ayudar en mi problema. Tengo un formulario muy simple para enviar y antes de enviar estoy intentando validar los campos, hago lo siguiente: ***************************** <title>Enviando Correos</title> <script src="/prototype.js" type="text/javascript"></script> <script type="text/javascript"> function envio(){ new Ajax.Updater('apartado','correo.jsp',{ parameters: $('fPedido').serialize(true)}); } function validar(fPedido){ var er_email = /^(.+\@.+\..+)$/ var er_telfono = /^[0-9]{9}$/ if (fPedido.sNombre.value.trim()=="") { alert('Nombre no valido'); fPedido.sNombre.focus(); return (false); } if (fPedido.sTelefono.value=="") { alert("El campo \"Tel�fono\" est� vac�o."); fPedido.sTelefono.focus(); return (false); }else{ if(!er_telfono.test(fPedido.sTelefono.value)){ alert('Campo Tel�fono no v�lido.'); fPedido.sTelefono.focus(); return (false) //no submit } } if (fPedido.sEmail.value=="") { alert("El campo \"E-mail\" est� vacio."); fPedido.sEmail.focus(); return (false); }else{ if(!er_email.test(fPedido.sEmail.value)){ alert('Campo E-mail no valido.') fPedido.sEmail.focus(); return (false); } } if (fPedido.sDireccion.value.trim()=="") { alert('El campo \"Direccion\" est vacio'); fPedido.sDireccion.focus(); return (false); } if (fPedido.sCiudad.value.trim()=="") { alert('El campo \"Ciudad\" est vacio'); fPedido.sCiudad.focus(); return (false); } if (fPedido.pProvincia.value.trim()=="") { alert('El campo \"Provincia\" est vacio'); fPedido.pProvincia.focus(); return (false); } if (fPedido.nCp.value.trim()=="") { alert('El campo \"Codigo Postal\" est vacio'); fPedido.nCp.focus(); return (false); } if (fPedido.datos.checked==false ){ alert('Para enviar tus datos tienes que haceptar las condiciones de proteccion de datos'); return(false); } if (fPedido.producto.checked==false ){ alert('Para realizar un pedido debe de seleccionar algun producto'); return(false); } } String.prototype.trim= function() {//Agrega la funci�n trim al objeto String return this.replace(/(^\s*)|(\s*$)/g,""); //elimina espacios a izquierda y derecha } function activarCantidad(Prod,Cantidad){ if (Prod.checked==true ) { Cantidad.disabled=false ; } else { Cantidad.disabled=true; Cantidad.value=""; } } </script> </head> <body> <form id="fPedido" name="fPedido" class="formu" onSubmit="return validar(this)"> <label>*Nombre y apellidos <input class="ecBordeCaja" type="text" name="sNombre" size=30/></label><br><br> <label>*Direccion <input class="ecBordeCaja" type="text" name="sDireccion" size=30/></label><br><br> <label>*C.P. <input class="ecBordeCaja" type="text" name="nCp" size=5 maxlength=5/></label><br><br> <label>*Ciudad <input class="ecBordeCaja" type="text" name="sCiudad"/></label><br><br> <label>*Provincia <input class="ecBordeCaja" type="text" name="pProvincia"/></label><br><br> <label>*Email <input class="ecBordeCaja" type="text" name="sEmail"/></label><br><br> <label>*Telefono <input class="ecBordeCaja" type="text" name="sTelefono"/></label><br><br> <label>Comentario sobre el pedido</label><br><textArea class="ecBordeCaja" name="sComentario" rows="5" cols="40"/></textarea><br><br> <br> <div class="ecRelleno"></div> <div><input name="datos" value="3" type="checkbox"/> Proteccion de datos</div><br/><br/> <div class="ecRelleno"></div> <input type="button" name="enviar" value="Enviar" onClick="enviar()"> </form> <div id="apartado" class="ecAaprtado"></div> </body> </html> *********************************************** La cosa es que el formulario se envia pero sin validarse los campos, es decir, que a la funcion "enviar" que esta puesta en el onClick del boton hace caso, pero al del formulario no. Este mismo "validar" lo hago en otra pagian web y me va perfectamente. Alguien puede echarle un vistazo y decirme si encuentra algun fallo?? Muchas gracias de antemano. |
Respuesta: validar campos bueno hacer las validaciones en un formulario...no es algo muy complicado, pero mirare tu codigo para ver entender que es lo que quieres hacer realmente |
Respuesta: validar campos hice estos cambios: <form id="fPedido" name="fPedido" class="formu" onSubmit="return validar(this)" action="correo.jsp">, agregue la parte que esta en verde y en el boton enviar : <input type="button" name="enviar" value="Enviar" onClick="enviar()">, quite la parte que esta en rojo..si no estoy mal la idea es enviar los datos y despues de la validacion todo esta OK. pues de esta forma pasas a la pagina de correo.jsp...claro que dejo por fuera una parte de ajax que tienes...que la verdad no comprendo que quieres hacer son ella...en fin espero sea lo que buscabas. saludos. |
Respuesta: validar campos Hola kitty14. Lo que puedes hacer es lo siguiente, cambia el tipo del botón de button a submit. Es lo correcto, para eso se hicieron esos botones: Código: Código HTML: Te explicaré el código: Código: Código: Código: Espero que el código no sea dificil de entender y que te funcione como esperas. Sino, igual aquí estamos para colaborarte...quedo pendiente y un saludo!! |
Respuesta: validar campos Gracias por contestar a todos. He puesto el submit y luego he quitado el onClick del botton y le he puesto en el action del formulario para que fuese a la otra página. El metodo de ajax lo que hace es ir a la otra pagina y deja el resultado en la del principio, esta muy bien Ajax. Salu2!!! |
| La zona horaria es GMT -6. Ahora son las 02:07. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.