[opciones con pop ups]

07/02/2005 - 17:39 por V | Informe spam
Hola a todos, espero que me puedan ayudar con esta duda...


Tengo que cargar 6 datos en un form, obteniendo combinaciones de opciones de
3 popups.

Solo obtengo los valores del primer popups, y no de los otros.

El tema es que debería ser variable y no lo es... no lo he podido hacer.

Aca va el codigo del form y los tres popups... sé que parece largo pero no
lo es... desde ya muchas gracias.



uno.asp



<td valign="top"><form name="form1" onSubmit="return validar(this)"
method="post" action="dos.asp" enctype="multipart/form-data">

<table width="95%" border="0" align="center" cellpadding="0"
cellspacing="0">

<tr>

<td>Apellido:</td>

<td><input name="Apellido" type="text" size="30"></td>

<td>Nombre:</td>

<td><input name="Nombre" type="text" size="30"></td>

</tr>

<tr>

<td colspan="4"><tr>

<td width="150"><a href=""
onClick="window.open('pu1.htm','','width00,height00');return
false;">PopUp1</a></td>

<td width="150"><a href=""
onClick="window.open('pu2.htm','','width00,height00');return
false;">PopUp2</a></td>

<td width="150"><a href=""
onClick="window.open('pu3.htm','','width00,height00');return
false;">PopUp3</a></td>

<td width="150"><div align="center"></div></td>

</tr>

<td>

</tr>

<tr>

<td><input name="b2" type="submit" value="Enviar
formulario"></td>

<td>&nbsp;</td>

</tr>

<tr>

<td colspan="2"><input name="cat[0]" type="Text" size="20"></td>

<td colspan="2"><input name="cat[1]" type="Text" id="cat[1]"
size="20"></td>

</tr>

<tr>

<td colspan="2"><input name="cat[2]" type="Text" id="cat[2]"
size="20"></td>

<td colspan="2"><input name="cat[3]" type="Text" id="cat[3]"
size="20"></td>

</tr>

<tr>

<td colspan="2"><input name="cat[4]" type="Text" id="cat[4"
size="20"></td>

<td colspan="2"><input name="cat[5]" type="Text" id="cat[5]"
size="20"></td>

</tr>

</table>

</form>

<div align="center"></div></td>





pu1.htm



<html>

<head>

<title>PU1</title>

<style type="text/css">

<!--

.Estilo1 {font-family: Verdana, Arial, Helvetica, sans-serif;

font-size: 10px;

color: #009900;

}

.Estilo2 {font-family: Verdana, Arial, Helvetica, sans-serif}

.Estilo5 {font-size: 10px; font-family: Verdana, Arial, Helvetica,
sans-serif; color: #990000; }

body {

background-color: #B9E4FF;

}


</style>

<meta http-equiv="Content-Type" content="text/html;

<body>

<script language="javascript">

contador=0;

function limitarSelección(casilla,form){

if (contador == 6 && casilla.checked){

alert("Solo puedes seleccionar 6 opciones");

return false;

}

pepe=casilla.name;


opener.document.forms[0].elements[pepe].value=(casilla.checked)?casilla.valu
e:"";

contador+=(casilla.checked)?1:-1;

}

</script>

<table width="347" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="416"><table width="342" border="1" align="left"
cellpadding="2" cellspacing="0" bordercolor="#0099FF">

<tr>

<td width="20"><input type="checkbox" name="cat[0]" value="CERO"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td width="134" class="Estilo1"><span class="Estilo5"> Opcion 0
</span></td>

<td width="26"><input type="checkbox" name="cat[1]" value="UNO"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td width="136" class="Estilo1"><span class="Estilo5"> Opcion 1
</span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[2]" value="DOS"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 2 </span></td>

<td><input type="checkbox" name="cat[3]" value="TRES"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 3 </span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[4]" value="CUATRO"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 4 </span></td>

<td><input type="checkbox" name="cat[5]" value="CINCO"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo2"><span class="Estilo5">
Opcion 5 </span></span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[6]" value="SEIS"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 6 </span></td>

<td><input type="checkbox" name="cat[7]" value="SIETE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 7 </span></td>

</tr>

</table></td>

</tr>

<tr>

<td></td>

</tr>

</table>

</body>

</html>



pu2.htm



<table width="347" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="416"><table width="342" border="1" align="left"
cellpadding="2" cellspacing="0" bordercolor="#0099FF">

<tr>

<td width="20"><input type="checkbox" name="cat[8]" value="OCHO"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td width="134" class="Estilo1"><span class="Estilo5"> Opcion 8
</span></td>

<td width="26"><input type="checkbox" name="cat[9]" value="NUEVE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td width="136" class="Estilo1"><span class="Estilo5"> Opcion 9
</span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[10]" value="DIEZ"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 10 </span></td>

<td><input type="checkbox" name="cat[11]" value="ONCE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 11 </span></td>

</tr>

</table>





pu3.htm



<table width="347" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="416"><table width="342" border="1" align="left"
cellpadding="2" cellspacing="0" bordercolor="#0099FF">

<tr>

<td width="20"><input type="checkbox" name="cat[12]" value="DOCE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td width="134" class="Estilo1"><span class="Estilo5"> Opcion 12
</span></td>

<td width="26"><input type="checkbox" name="cat[13]" value="TRECE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td width="136" class="Estilo1"><span class="Estilo5"> Opcion 13
</span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[14]" value="CATORCE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 14 </span></td>

<td><input type="checkbox" name="cat[15]" value="QUINCE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 15 </span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[16]" value="DIECISEIS"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 16 </span></td>

<td><input type="checkbox" name="cat[17]" value="DIECISIETE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo2"><span class="Estilo5">
Opcion 17 </span></span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[18]" value="DIECIOCHO"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 18 </span></td>

<td><input type="checkbox" name="cat[19]" value="DIECINUEVE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 19 </span></td>

</tr>

</table>
 

Leer las respuestas

#1 Miguel Gonzalez
08/02/2005 - 12:25 | Informe spam
Hola "V".

De entrada, los "popups" 2 y 3 no tienen incluido el "script" que vuelca
los datos en la ventana madre.

El "script" que figura en el "popup 1" sobreescribe los valores en el
"input" del formulario que recibe los datos, con lo que sólo se guarda
el valor de la última casilla seleccionada.

Los nombres de los elementos de los formularios incluyen los caracteres
reservados "[" y "]", que pueden provocar problemas en "javascript".

Yo te recomendaría simplificar el código, de forma que evites al usuario
abrir tantos "popups" para poder seleccionar opciones, unificando todo
en un único formulario y página (agrupando las opciones). Más o menos, así:

<form name="formulario" onsubmit="return limita();" action="dos.asp"
method="post">
<input name="Apellido" type="text" size="30">
<input name="Nombre" type="text" size="30">
<input name="b2" type="submit" value="Enviar">
<!-- Grupo de opciones -->
<input type="checkbox" name="opciones1" value="1" onchange="limita();">
<input type="checkbox" name="opciones1" value="2" onchange="limita();">
<input type="checkbox" name="opciones1" value="3" onchange="limita();">
<input type="checkbox" name="opciones1" value="4" onchange="limita();">
<input type="checkbox" name="opciones1" value="5" onchange="limita();">
<input type="checkbox" name="opciones1" value="6" onchange="limita();">
<input type="checkbox" name="opciones1" value="7" onchange="limita();">
<input type="checkbox" name="opciones1" value="8" onchange="limita();">
<input type="checkbox" name="opciones1" value="9" onchange="limita();">
<input type="checkbox" name="opciones1" value="10" onchange="limita();">
<input type="checkbox" name="opciones1" value="11" onchange="limita();">
<input type="checkbox" name="opciones1" value="12" onchange="limita();">
<input type="checkbox" name="opciones1" value="13" onchange="limita();">
<input type="checkbox" name="opciones1" value="14" onchange="limita();">
<input type="checkbox" name="opciones1" value="15" onchange="limita();">
<input type="checkbox" name="opciones1" value="16" onchange="limita();">
<input type="checkbox" name="opciones1" value="17" onchange="limita();">
<input type="checkbox" name="opciones1" value="18" onchange="limita();">
<!-- Fin grupo opciones -->
</form>

<script type="text/javascript">
function limita(){
var contador;
contador = 0;
for(i=0;i<document.formulario.opciones1.length;i++){
if(document.formulario.opciones1[i].checked)contador+=1;
}
if(contador>6){
alert("Sólo 6 opciones!");
return false;
}
else{
return true;
}
}
</script>


Saludos!
Miguel


V wrote:
Hola a todos, espero que me puedan ayudar con esta duda...


Tengo que cargar 6 datos en un form, obteniendo combinaciones de opciones de
3 popups.

Solo obtengo los valores del primer popups, y no de los otros.

El tema es que debería ser variable y no lo es... no lo he podido hacer.

Aca va el codigo del form y los tres popups... sé que parece largo pero no
lo es... desde ya muchas gracias.



uno.asp



<td valign="top"><form name="form1" onSubmit="return validar(this)"
method="post" action="dos.asp" enctype="multipart/form-data">

<table width="95%" border="0" align="center" cellpadding="0"
cellspacing="0">

<tr>

<td>Apellido:</td>

<td><input name="Apellido" type="text" size="30"></td>

<td>Nombre:</td>

<td><input name="Nombre" type="text" size="30"></td>

</tr>

<tr>

<td colspan="4"><tr>

<td width="150"><a href=""
onClick="window.open('pu1.htm','','width00,height00');return
false;">PopUp1</a></td>

<td width="150"><a href=""
onClick="window.open('pu2.htm','','width00,height00');return
false;">PopUp2</a></td>

<td width="150"><a href=""
onClick="window.open('pu3.htm','','width00,height00');return
false;">PopUp3</a></td>

<td width="150"><div align="center"></div></td>

</tr>

<td>

</tr>

<tr>

<td><input name="b2" type="submit" value="Enviar
formulario"></td>

<td>&nbsp;</td>

</tr>

<tr>

<td colspan="2"><input name="cat[0]" type="Text" size="20"></td>

<td colspan="2"><input name="cat[1]" type="Text" id="cat[1]"
size="20"></td>

</tr>

<tr>

<td colspan="2"><input name="cat[2]" type="Text" id="cat[2]"
size="20"></td>

<td colspan="2"><input name="cat[3]" type="Text" id="cat[3]"
size="20"></td>

</tr>

<tr>

<td colspan="2"><input name="cat[4]" type="Text" id="cat[4"
size="20"></td>

<td colspan="2"><input name="cat[5]" type="Text" id="cat[5]"
size="20"></td>

</tr>

</table>

</form>

<div align="center"></div></td>





pu1.htm



<html>

<head>

<title>PU1</title>

<style type="text/css">

<!--

.Estilo1 {font-family: Verdana, Arial, Helvetica, sans-serif;

font-size: 10px;

color: #009900;

}

.Estilo2 {font-family: Verdana, Arial, Helvetica, sans-serif}

.Estilo5 {font-size: 10px; font-family: Verdana, Arial, Helvetica,
sans-serif; color: #990000; }

body {

background-color: #B9E4FF;

}


</style>

<meta http-equiv="Content-Type" content="text/html;

<body>

<script language="javascript">

contador=0;

function limitarSelección(casilla,form){

if (contador == 6 && casilla.checked){

alert("Solo puedes seleccionar 6 opciones");

return false;

}

pepe=casilla.name;


opener.document.forms[0].elements[pepe].value=(casilla.checked)?casilla.valu
e:"";

contador+=(casilla.checked)?1:-1;

}

</script>

<table width="347" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="416"><table width="342" border="1" align="left"
cellpadding="2" cellspacing="0" bordercolor="#0099FF">

<tr>

<td width="20"><input type="checkbox" name="cat[0]" value="CERO"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td width="134" class="Estilo1"><span class="Estilo5"> Opcion 0
</span></td>

<td width="26"><input type="checkbox" name="cat[1]" value="UNO"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td width="136" class="Estilo1"><span class="Estilo5"> Opcion 1
</span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[2]" value="DOS"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 2 </span></td>

<td><input type="checkbox" name="cat[3]" value="TRES"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 3 </span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[4]" value="CUATRO"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 4 </span></td>

<td><input type="checkbox" name="cat[5]" value="CINCO"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo2"><span class="Estilo5">
Opcion 5 </span></span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[6]" value="SEIS"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 6 </span></td>

<td><input type="checkbox" name="cat[7]" value="SIETE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 7 </span></td>

</tr>

</table></td>

</tr>

<tr>

<td></td>

</tr>

</table>

</body>

</html>



pu2.htm



<table width="347" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="416"><table width="342" border="1" align="left"
cellpadding="2" cellspacing="0" bordercolor="#0099FF">

<tr>

<td width="20"><input type="checkbox" name="cat[8]" value="OCHO"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td width="134" class="Estilo1"><span class="Estilo5"> Opcion 8
</span></td>

<td width="26"><input type="checkbox" name="cat[9]" value="NUEVE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td width="136" class="Estilo1"><span class="Estilo5"> Opcion 9
</span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[10]" value="DIEZ"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 10 </span></td>

<td><input type="checkbox" name="cat[11]" value="ONCE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 11 </span></td>

</tr>

</table>





pu3.htm



<table width="347" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="416"><table width="342" border="1" align="left"
cellpadding="2" cellspacing="0" bordercolor="#0099FF">

<tr>

<td width="20"><input type="checkbox" name="cat[12]" value="DOCE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td width="134" class="Estilo1"><span class="Estilo5"> Opcion 12
</span></td>

<td width="26"><input type="checkbox" name="cat[13]" value="TRECE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td width="136" class="Estilo1"><span class="Estilo5"> Opcion 13
</span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[14]" value="CATORCE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 14 </span></td>

<td><input type="checkbox" name="cat[15]" value="QUINCE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 15 </span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[16]" value="DIECISEIS"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 16 </span></td>

<td><input type="checkbox" name="cat[17]" value="DIECISIETE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo2"><span class="Estilo5">
Opcion 17 </span></span></td>

</tr>

<tr>

<td><input type="checkbox" name="cat[18]" value="DIECIOCHO"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 18 </span></td>

<td><input type="checkbox" name="cat[19]" value="DIECINUEVE"
onClick="limitarSelecci&oacute;n(this,this.form)"></td>

<td class="Estilo1"><span class="Estilo5"> Opcion 19 </span></td>

</tr>

</table>


Preguntas similares