Foros del Web » Programando para Internet » Javascript »

Ayuda con formulario!

Estas en el tema de Ayuda con formulario! en el foro de Javascript en Foros del Web. Hola a todos, les comento que estoy teniendo problemas con un formulario que estoy haciendo. El problema es que quiero que al hacer click en ...
  #1 (permalink)  
Antiguo 02/09/2010, 23:41
 
Fecha de Ingreso: septiembre-2010
Mensajes: 4
Antigüedad: 13 años, 8 meses
Puntos: 0
Ayuda con formulario!

Hola a todos, les comento que estoy teniendo problemas con un formulario que estoy haciendo. El problema es que quiero que al hacer click en "enviar" y los datos no esten ingresados correctamente se me abra un popup con la lista de los errores. Logre abrir el popup, pero el inconveniente es la funcion que tengo que poner en el popup para que me lea los errores y los escriba.
Se que es algo basico, pero me esta trayendo problemas y no encontre en ningun lado una forma de hacerlo con javascript (todos aparecen con php); se que algo estoy haciendo mal pero necesito ayuda! Por las dudas aqui dejo mi funcion para validar:

Código:
function abrir() {
	window.open("valida.html", "_self", "width=300,height=300,toolbar=yes,status=yes,resizable=yes,scrollbars=auto");
}

var ventana;
function abrir2() {
	ventana = window.open("popup.html", "_blank", "width=400,height=400,toolbar=yes,status=yes,resizable=yes,scrollbars=auto");
}


function verificar() {

	var hayerrores = false;
	var errores = "";

	if ($("nombre").value.length<3) {
		errores = errores + "- No ha ingresado el Nombre. <br />";
		hayerrores = true;
		destacarError("nombre");
	} 
	if ($("apellido").value.length<3) {
		errores = errores + "- No ha ingresado el Apellido. <br />";
		hayerrores = true;
		destacarError("apellido");	
	}
	
	valor = ($("email").value);
if( !(/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)/.test(valor)) ) {
  	errores = errores + "- No ha ingresado un Email v&aacute;lido.<br />";
	hayerrores=true;
	destacarError("email");
}
if ($("empresa").value.length<3) {
		errores = errores + "";
		hayerrores = true;
	}
	if ($("recomendacion").value.length<3) {
		errores = errores + "";
		hayerrores = true;	
	}
		
	if ($("dia").selectedIndex==0) {
		errores += "- Debe ingresar su Dia de Nacimiento. <br />";
		hayerrores = true;
		destacarError("dia");
			
	}	
	if ($("mes").selectedIndex==0) {
		errores += "- Debe ingresar su Mes de Nacimiento. <br />";
		hayerrores = true;
		destacarError("mes");
			
	}
	if ($("anio").selectedIndex==0) {
		errores += "- Debe ingresar su A&ntilde;o de Nacimiento. <br />";
		hayerrores = true;
		destacarError("anio");	
		
	}
		if ($("postal").value!="") {
		if (isNaN($("postal").value)) {
			errores = errores + "";
			hayerrores = true;			
		}
	}
	  if ($("telefono").value!=''){ 
	  	if(isNaN($("telefono").value)) {
			errores = errores + "- El n&uacute;mero es inv&aacute;lido. <br /> ";
			hayerrores = true;
		}
	}
				
	if (!$("aceptacion").checked) {
		errores += "- Debe aceptar las Condiciones y Terminos de VRS Arquitectura para poder continuar.<br />";
		hayerrores = true;
	}
	
	if ($("pais").selectedIndex==0) {
		errores += "- Debe seleccionar un País. <br />";
		hayerrores = true;
		destacarError("pais");	
	}
	
	var cantidad = 0;
	for (var i=0; i<$("opciones").options.length; i++) {
		if ($("opciones").options[i].selected) {
			cantidad++;
		}
	}
	if (cantidad < 2) {
		errores += "- Debe seleccionar dos Opciones. <br />";
		hayerrores = true;		
	}
	

	if (hayerrores==false) {
		$("formulario").submit();
		return abrir();
	} else {
		$("sumarioValidacion").innerHTML = errores;
		return abrir2();
		
	}
	
	
}

function destacarError(id) {
	$(id).focus();
	$(id).className = "cajaError";
}

function $(id) {
	return document.getElementById(id);
}

function ponerProvincias() {
	var selec = $("pais").selectedIndex;
	var pais = $("pais").options[selec].value;
	
	$("provincia").options.length = 0;
	switch (pais) {
		case "AR": 
			var nuevaOpcion = new Option("Buenos Aires", "BA");
			$("provincia").options[$("provincia").options.length] = nuevaOpcion;
			
			var nuevaOpcion = new Option("Catamarca", "CA");
			$("provincia").options[$("provincia").options.length] = nuevaOpcion;
			
			var nuevaOpcion = new Option("Chaco", "CH");
			$("provincia").options[$("provincia").options.length] = nuevaOpcion;
			
			var nuevaOpcion = new Option("Chubut", "CU");
			$("provincia").options[$("provincia").options.length] = nuevaOpcion;
			
			var nuevaOpcion = new Option("Cdad Autonoma Bs As", "AU");
			$("provincia").options[$("provincia").options.length] = nuevaOpcion;
			
			var nuevaOpcion = new Option("Corrientes", "CO");
			$("provincia").options[$("provincia").options.length] = nuevaOpcion;
			
			var nuevaOpcion = new Option("Cordoba", "CA");
			
			
			break;
			
		case "ES":
			var nuevaOpcion = new Option("Cantabria", "CA");
			$("provincia").options[$("provincia").options.length] = nuevaOpcion;
			
			var nuevaOpcion = new Option("Madrid", "MA");
			$("provincia").options[$("provincia").options.length] = nuevaOpcion;
		
			break;
			
		case "UY":
			var nuevaOpcion = new Option("Canelones", "CA");
			$("provincia").options[$("provincia").options.length] = nuevaOpcion;
			
			var nuevaOpcion = new Option("Montevideo", "MO");
			$("provincia").options[$("provincia").options.length] = nuevaOpcion;
		
			break;						
	}
	
	

}
  #2 (permalink)  
Antiguo 03/09/2010, 01:07
Avatar de angelAparicio  
Fecha de Ingreso: julio-2009
Ubicación: Sevilla
Mensajes: 307
Antigüedad: 14 años, 9 meses
Puntos: 22
Respuesta: Ayuda con formulario!

¿No puedes usar en alert?

Es decir
Código Javascript:
Ver original
  1. if (hayerrores==false) {
  2.         $("formulario").submit();
  3.         return abrir();
  4.     } else {
  5.         $("sumarioValidacion").innerHTML = errores;
  6.         alert(errores);
  7.     }
__________________
Mis webs:
- Programador Web Autónomo
- Conciertos en Sevilla
  #3 (permalink)  
Antiguo 03/09/2010, 14:44
 
Fecha de Ingreso: septiembre-2010
Mensajes: 4
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ayuda con formulario!

Hola angelAparicio, gracias por contestar mi tema. El problema es que justamente quieren que abra los datos en un popup y me dijeron que para hacerlo tenia que poner una funcion en el popup que recoja los datos y los escriba, pero no se como hacerlo...
Cualquier cosa aviso, pero me lo exigen asi, ese es el problema en realidad
  #4 (permalink)  
Antiguo 04/09/2010, 05:15
Avatar de angelAparicio  
Fecha de Ingreso: julio-2009
Ubicación: Sevilla
Mensajes: 307
Antigüedad: 14 años, 9 meses
Puntos: 22
Respuesta: Ayuda con formulario!

Ah, vale. Con window.opener puedes acceder desde el Popup a las variables globales y funciones del la ventana padre. Aquí tienes un ejemplo:

http://www.desarrolloweb.com/articulos/1099.php

Mira si te sirve, personalmente nunca he tenido que hacer lo que buscas.
__________________
Mis webs:
- Programador Web Autónomo
- Conciertos en Sevilla
  #5 (permalink)  
Antiguo 08/09/2010, 17:37
 
Fecha de Ingreso: septiembre-2010
Mensajes: 4
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ayuda con formulario!

gracias nuevamente por la info angelAparicio!, me volvi loca y la verdad que no pude lograr lo del popup, asi que use un document.write en lugar del alert. Tal vez era mejor el alert, pero me parece que lo otro era algo un poco mas parecido. El problema ahora es que cuando cumple todos los requisitos para que se envie el formulario, no me abre la ventana que quiero que abra. No cambie nada excepto eso que te dije, el codigo sigue siendo el mismo; no se que sera!

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 16:02.