Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/10/2012, 00:34
Avatar de rodeirojg
rodeirojg
 
Fecha de Ingreso: junio-2012
Ubicación: Buenos Aires
Mensajes: 86
Antigüedad: 12 años, 5 meses
Puntos: 2
Exclamación Formulario sólo con Javascript

Hola gente del foro, nuevamente estoy pidiendo su ayuda!

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> 
__________________
Julian G. Rodeiro
Encargado del área de Diseño en:
www.brandestudio.com.ar