Foros del Web » Creando para Internet » HTML »

Formulario de contacto + validacion con java + envio con php!!

Estas en el tema de Formulario de contacto + validacion con java + envio con php!! en el foro de HTML en Foros del Web. Hola a todos! Tengo un lio monumental que no me aclaro donde tengo la mano izquierda de la redecha Estoy haciendo un formulario de contacto ...
  #1 (permalink)  
Antiguo 27/10/2012, 11:55
Avatar de wataru77  
Fecha de Ingreso: febrero-2007
Mensajes: 20
Antigüedad: 17 años, 9 meses
Puntos: 1
Pregunta Formulario de contacto + validacion con java + envio con php!!

Hola a todos!

Tengo un lio monumental que no me aclaro donde tengo la mano izquierda de la redecha

Estoy haciendo un formulario de contacto en html e intento validar los campos en js, y empiezan los problemas.

El boton de envio es de tipo "button", para luego con js si todos los campos estan correctos haga un "submit".

Bueno, todo iba bien hasta que le he asignado la funcion submit, solo verifica un campo y luego directamente envia el formulario!!

Este es el código js de validación:
Código:
function validar() {
		var verificar = true;
		var expRegEmail = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;

		if (!document.getElementById("nombre").value) {
			alert("El campo nombre es requerido");
			document.getElementById("nombre").focus();
			verificar=false;
		} else if (!document.getElementById("apellidos").value) {
			alert("El campo apellidos es requerido");
			document.getElementById("apellidos").focus();
			verificar=false;
		} else if (!expRegEmail.exec(document.getElementById("email")).value) {
			alert("El campo email es requerido");
			document.getElementById("email").focus();
			verificar=false;
		} else if (!document.getElementById("asunto").value) {
			alert("El campo asunto es requerido");
			document.getElementById("asunto").focus();
			verificar=false;
		} else if (!document.getElementById("comentarios").value) {
			alert("El campo comentarios es requerido");
			document.getElementById("comentarios").focus();
			verificar=false;
		}

		if(validar) {
			document.formulario_frm.submit();
		}
	}

	window.onload = function() {
		document.getElementById("enviar").onclick = validar;
	}
Este es del código del formulario:

Código:
<form name="formulario_frm" action="enviar.php" method="post" enctype="application/x-www-form-urlencoded">
 					<fieldset>
 						<legend>Env&iacute;anos tus comentarios</legend>
 						<div>
 							<label for="nombre">Nombre:</label>
 							<input type="text" id="nombre" name="nombre_txt" required />
 						</div>
 						<div>
 							<label for="apellidos">Apellidos:</label>
 							<input type="text" id="apellidos" name="apellidos_txt" required />
 						</div>
 						<div>
 							<label for="email">Email:</label>
 							<input type="email" id="email" name="email_txt" required />
 						</div>
 						<div>
 							<label for="asunto">Asunto:</label>
 							<input type="text" id="asunto" name="asunto_txt" required />
 						</div>
 						<div>
 							<label for="comentarios">Comentarios:</label>
 							<textarea id="comentarios" name="comentarios_txa" cols="31" rows="5" required ></textarea>
 						</div>
 						<div>
 							<input type="button" id="enviar" name="enviar_btn" value="Enviar" />
 						</div>
 					</fieldset>
  				</form>
Hago la prueba de enviar con los campos vacíos para que salte el js dando la alerta, hasta aquí todo bien, da la primera alerta del campo nombre, cuando aceptas la alerta y el foco va al campo en cuestión...Zas!! lo envía!!

No entiendo porque, creo haber repasado todo, y en teoría debería de funcionar.
Alguien puede echarme una mano, por favor!! ^_^
No llego a entender porque envía el formulario cuando no se ha rellenado nada.

Muchas gracias.
  #2 (permalink)  
Antiguo 27/10/2012, 16:27
Avatar de tutorias  
Fecha de Ingreso: octubre-2012
Ubicación: Medellin
Mensajes: 69
Antigüedad: 12 años, 1 mes
Puntos: 13
De acuerdo Respuesta: Formulario de contacto + validacion con java + envio con php!!

Esta seguro que es

Código:
if(validar) {
	document.formulario_frm.submit();
}

y no


Código:
if(verificar) {
	document.formulario_frm.submit();
}
  #3 (permalink)  
Antiguo 27/10/2012, 17:09
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Formulario de contacto + validacion con java + envio con php!!

Lee estos posts. quizás te aclaren el panorama

http://www.forosdelweb.com/f13/forma...8/#post4295257

http://www.forosdelweb.com/f13/como-...3/#post4284386

http://www.forosdelweb.com/f13/valid...3/#post4213498

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 29/10/2012, 06:21
Avatar de wataru77  
Fecha de Ingreso: febrero-2007
Mensajes: 20
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Formulario de contacto + validacion con java + envio con php!!

Cita:
Iniciado por tutorias Ver Mensaje
Esta seguro que es

Código:
if(validar) {
	document.formulario_frm.submit();
}

y no


Código:
if(verificar) {
	document.formulario_frm.submit();
}
Hola tutorias!

Jajaja!! joder cuanta razon tienes!!

Muchas gracias!

Todo arreglado.
  #5 (permalink)  
Antiguo 29/10/2012, 06:31
Avatar de wataru77  
Fecha de Ingreso: febrero-2007
Mensajes: 20
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Formulario de contacto + validacion con java + envio con php!!

Cita:
Iniciado por emprear Ver Mensaje
Lee estos posts. quizás te aclaren el panorama

[url]http://www.forosdelweb.com/f13/forma-tratar-formularios-que-jamas-habia-visto-1019038/#post4295257[/url]

[url]http://www.forosdelweb.com/f13/como-validar-campos-numericos-1016193/#post4284386[/url]

[url]http://www.forosdelweb.com/f13/validacion-campos-formulario-javascript-999123/#post4213498[/url]

SAludos
Gracias emprear! ;)

Etiquetas: formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:32.