Tengo un formulario donde ya pude validar los campos con Javascript, el tema es ¿se puede reemplazar el clásico enviar.php por alguna función en Javascript?
¿Por qué digo esto? Porque de php no sé casi nada y no quiero que el "Gracias por haberse contactado" sea una ventana nueva archi gigante. Eventualmente me serviría una ventana emergente pequeña o una leyenda que aparezca en algún lado.
Bueno, me dejo de chácharas, les dejo el código:
Código HTML:
<head> <script type="text/javascript"> function validar(frm) { var resultado1 = frm.nombre.value.length > 3; var resultado2 = /^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,6})$/.test(frm.email.value); var resultado3 = frm.comentario.value.length > 3; document.getElementById('error').style.visibility = (resultado1) ? 'hidden':'visible'; document.getElementById('error').style.color = (resultado1) ? '#999':'red'; document.getElementById('input').style.borderColor = (resultado1) ? '#999':'red'; document.getElementById('input').style.color = (resultado1) ? '#999':'red'; document.getElementById('error2').style.visibility = (resultado2) ? 'hidden':'visible'; document.getElementById('error2').style.color = (resultado2) ? '#999':'red'; document.getElementById('input2').style.borderColor = (resultado2) ? '#999':'red'; document.getElementById('input2').style.color = (resultado2) ? '#999':'red'; document.getElementById('error3').style.visibility = (resultado3) ? 'hidden':'visible'; document.getElementById('error3').style.color = (resultado3) ? '#999':'red'; document.getElementById('input3').style.borderColor = (resultado3) ? '#999':'red'; document.getElementById('input3').style.color = (resultado3) ? '#999':'red'; return (resultado1 && resultado2 && resultado3); } </script> </head> <body> <form action="enviar.php" method="post" class="tipo" onsubmit="return validar(this)"> Nombre<input type="text" name="nombre" id="input" style="border-width: 1px; border-style: solid; border-color: #999"/> <p id="error" style="visibility:hidden">Longitud invalida</p> Email: <input type="text" name="email" id="input2" style="border-width: 1px; border-style: solid; border-color: #999"/> <p id="error2" style="visibility:hidden">E-mail invalido</p> Comentario: <textarea cols="30" rows="10" name="comentario" id="input3" style="border-width: 1px; border-style: solid; border-color: #999"></textarea> <p id="error3" style="visibility:hidden">Texto no valido</p> <input type="submit" /> </form> </body> </html>