Foros del Web » Programando para Internet » Javascript »

Popup carga con checkbox

Estas en el tema de Popup carga con checkbox en el foro de Javascript en Foros del Web. Tengo un formulario para enviar, pero se deben completar con datos que se seleccionan desde un pop con checkbox. La consulta es como hacer para ...
  #1 (permalink)  
Antiguo 26/11/2004, 09:47
jlc
 
Fecha de Ingreso: julio-2003
Ubicación: Capital
Mensajes: 17
Antigüedad: 20 años, 9 meses
Puntos: 0
Popup carga con checkbox

Tengo un formulario para enviar, pero se deben completar con datos que se seleccionan desde un pop con checkbox.
La consulta es como hacer para pasarle los datos del popup al formulario principal, y además no modificar lo que ya esta cargado en el formulario (nombre, apellido, etc...)

FORMULARIO
<form name="form1" method="post" action="XXXXX.asp" enctype="multipart/form-data">
<p>
<input name="Apellido" type="text" size="30" maxlength="30">
<input name="Nombre" type="text" size="30" maxlength="30">
<a href="javascript:;" onClick="window.open('pp.htm',"","width=300,height =300")">Habilidades</a>
<input name="b2" type="submit" value="Enviar">
</form>

POPUP
pp.htm

<script language="javascript">
function limitarSelección(casilla,form)
{
a = casilla.form.cat[0].checked;
b = casilla.form.cat[1].checked;
c = casilla.form.cat[2].checked;
d = casilla.form.cat[3].checked;

contador = (a ? 1 : 0) + (b ? 1 : 0) + (c ? 1 : 0) + (d ? 1 : 0);

if (contador > 3)
{
alert("Solo puedes seleccionar 4 opciones");
casilla.checked = false;
}
}
</script>

<input type="checkbox" name="cat" value="Recepción" onClick="limitarSelección(this,this.form)">
<input type="checkbox" name="cat" value="Administacion" onClick="limitarSelección(this,this.form)">
<input type="checkbox" name="cat" value="Telefonia" onClick="limitarSelección(this,this.form)">
<input type="checkbox" name="cat" value="Consultas" onClick="limitarSelección(this,this.form)">


Muchas gracias por cualquier sugerencia que hagan.
Saludos.
  #2 (permalink)  
Antiguo 26/11/2004, 11:44
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Lo mejor es que pongas unos hidden en el formulario de la ventana madre y con cada click pasas el value de los check. Así:

onclick="limitarSelección(this,this.form);opener.d ocument.forms['form1']['oculto1']=this.value;"

No sé si me explico...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 26/11/2004, 12:25
jlc
 
Fecha de Ingreso: julio-2003
Ubicación: Capital
Mensajes: 17
Antigüedad: 20 años, 9 meses
Puntos: 0
Te agradecería mucho si pudieras explicarme un poco mas detallada la idea que sugieras por favor. Gracias.
  #4 (permalink)  
Antiguo 26/11/2004, 16:27
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Un ejemplo:

formulario:
Código HTML:
<html>
<head>
	<title>Untitled</title>
</head>

<body>
<form name="form1" method="post" action="XXXXX.asp" enctype="multipart/form-data">
<p>
Apellido: <input name="Apellido" type="text" size="30" maxlength="30"><br>
Nombre: <input name="Nombre" type="text" size="30" maxlength="30"><br>
<a href="" onClick="window.open('pp.html','','width=300,height=300');return false;">Habilidades</a>
<input name="b2" type="submit" value="Enviar"><br>
<input type="text" name="cat[0]" >
<input type="text" name="cat[1]" >
<input type="text" name="cat[2]" >
<input type="text" name="cat[3]" >
</form>
</body>
</html> 
Y pp.html:
Código HTML:
<html>
<head>
	<title>Untitled</title>
</head>

<body>
<script language="javascript">
contador=0;
function limitarSelección(casilla,form){
	if (contador == 3 && casilla.checked){
		alert("Solo puedes seleccionar 4 opciones");
		return false;
	}
	pepe=casilla.name;
	opener.document.forms[0].elements[pepe].value=(casilla.checked)?casilla.value:"";
	contador+=(casilla.checked)?1:-1;


}
</script>

<input type="checkbox" name="cat[0]" value="Recepción" onClick="return limitarSelección(this,this.form)">
<input type="checkbox" name="cat[1]" value="Administacion" onClick="return limitarSelección(this,this.form)">
<input type="checkbox" name="cat[2]" value="Telefonia" onClick="return limitarSelección(this,this.form)">
<input type="checkbox" name="cat[3]" value="Consultas" onClick="return limitarSelección(this,this.form)">




</body>
</html> 
Los input que he añadido como text los debes poner como hidden. Los he puesto así para que veas el efecto. Así, al enviar el formulario mandas tb los datos del pop up.

¿Sería más o menos eso lo que quieres?
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 27/11/2004, 13:03
jlc
 
Fecha de Ingreso: julio-2003
Ubicación: Capital
Mensajes: 17
Antigüedad: 20 años, 9 meses
Puntos: 0
Te agradezco, la solucion esta buenisima. El tema es que son 62 checkbox lo que hay en este popup, entonces debo poner 62 hidden? Ademas la persona va a seleccionar uno de las cuatro habilidades que poseea, ADMINISTRATIVO (62ckbox), INDUSTRIA(80ckbox), AGROPECUARIA(45ckbox) Y COMERCIAL(38ckbox), ahí se abre el popup correspondiente y carga mediante el checkbox del pop. Entonces tengo que poner tantos hidden como checkbox existan por popup? depende de que habilidad elija? De todas formas solo puede seleccionar hasta 20 opciones de un solo popup.
Me orientas nuevamente que sería lo recomendable para esta tarea...
Antes lo tenía todo en el form y lo controlaba con la funcion limitarseleccion y luego leí la variable por cada coma y los llevaba a la BD, pero tenía los 225 checkbox juntos. Toda esta modificacion era para filtrar las habilidades de la persona dependiendo del Rubro que seleccione.
Nuevamente Gracias totales.
  #6 (permalink)  
Antiguo 30/11/2004, 06:05
jlc
 
Fecha de Ingreso: julio-2003
Ubicación: Capital
Mensajes: 17
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola KARLANKAS, tienes alguna idea para terminar con lo que propuse antes.
Estoy trabado con esto, por mis pocos conocimientos de js...
Con los cuatros popups de los cuales se puede elegir solo uno y luego solo 20 de las opciones de los checkbox del popup elegido. Hay diferencia entre cantidad de checkbox por cada popup.
Saludos y gracias.
  #7 (permalink)  
Antiguo 30/11/2004, 06:24
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Para que abra sólo una ventana ponle nombre a window.open. Así:

onClick="santiago=window.open('pp.html','santiago' ,'width=300,height=300');return false;">Habilidades</a>

Y respecto a la segunda pregunta déjame que lo mire...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #8 (permalink)  
Antiguo 03/12/2004, 20:48
jlc
 
Fecha de Ingreso: julio-2003
Ubicación: Capital
Mensajes: 17
Antigüedad: 20 años, 9 meses
Puntos: 0
Hola KARLANKAS, nuevamente pido tu ayuda, tienes la idea final para terminar con lo que propuse antes. Estoy estancado. Te agradezco todo las sugerencias e ideas. Gracias.
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 20:29.