Foros del Web » Programando para Internet » Javascript »

Generar un serial con JS

Estas en el tema de Generar un serial con JS en el foro de Javascript en Foros del Web. Que tal, tengo un pequeño problema con JS, ya que el y yo por lo general nos caemos mal mutuamente... Necesito generar a partir de ...
  #1 (permalink)  
Antiguo 03/11/2009, 12:24
Avatar de ratmayor  
Fecha de Ingreso: noviembre-2005
Ubicación: Puerto La Cruz
Mensajes: 23
Antigüedad: 19 años
Puntos: 0
Exclamación Generar un serial con JS

Que tal, tengo un pequeño problema con JS, ya que el y yo por lo general nos caemos mal mutuamente...

Necesito generar a partir de un form asi como este:

Código HTML:
<form action="" method="get">
<input type="checkbox" name="serv1" value="1" /> <b>Aire Acondicionado</b><br>
<input type="checkbox" name="serv2" value="1" /> <b>Planta El&eacute;ctrica de Emergencia</b><br>
<input type="checkbox" name="serv3" value="1" /> <b>Caja de seguridad</b><br>
<input type="checkbox" name="serv4" value="1" /> <b>Casino</b><br>
<input type="checkbox" name="serv5" value="1" /> <b>Desayuno</b><br>
<input type="checkbox" name="serv6" value="1" /> <b>Gimnasio</b><br>
<input type="checkbox" name="serv7" value="1" /> <b>Agua Caliente</b><br>
<input type="checkbox" name="serv8" value="1" /> <b>Ba&ntilde;era</b><br>
<input type="checkbox" name="serv9" value="1" /> <b>Servicio de Lavander&iacute;a</b><br>
<input type="checkbox" name="serv10" value="1" /> <b>Llaves magneticas</b><br>
<input type="checkbox" name="serv11" value="1" /> <b>Nevera ejecutiva</b><br>
<input type="checkbox" name="serv12" value="1" /> <b>Servicio Telef&oacute;nico</b><br>
<input type="checkbox" name="serv13" value="1" /> <b>Piscina</b><br>
<input type="checkbox" name="serv14" value="1" /> <b>Acceso a la playa</b><br>
<input type="checkbox" name="serv15" value="1" /> <b>Restaurant</b><br>
<input type="checkbox" name="serv16" value="1" /> <b>Salon de conferencias</b><br>
<input type="checkbox" name="serv17" value="1" /> <b>Secador de pelo</b><br>
<input type="checkbox" name="serv18" value="1" /> <b>Television</b><br>
<input type="checkbox" name="serv19" value="1" /> <b>Television por cable / satelital</b><br>
<input type="checkbox" name="serv20" value="1" /> <b>Acceso a Internet Inal&aacute;mbrico</b><br>
<input type="submit" value="Probar" />
</form> 
Un serial como este: "1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,1,0,1,0,1" en donde "1" corresponde a los checkbox señalados y "0" los que no, en un campo HIDDEN a medida que vayan haciendo clic sobre los checks.

En PHP serial algo asi:

Código PHP:
<form action="" method="get">
<?php
include "conex.php";
$main_result0 = @mysql_query("select * from services",LINK);
while(
$row = @mysql_fetch_array($main_result0)){
        
printf("<input type=\"checkbox\" name=\"serv%s\" value=\"1\" /> <b>%s</b><br>\n",$row["ID"], $row["name"]);
}
$totserv mysql_num_rows($main_result0);
$service = array();
for(
$a=0;$a<$totserv;$a++){
        
$b $a+1;
        if(
$_GET["service$b"]){$opt 1;}else{$opt 0;}
        
$service[$a] = $opt;
}
?>
<input type="hidden" name="services" value="<? echo implode(",",$service); ?>">
<input type="submit" value="Probar" />
</form><br />
El problema con esto es el echo de que este campo oculto pertenece a una consulta por lo que no puedo recargar la pagina, y de hacerlo seria demasiado tedioso para el usuario.

Lo intente usando el metodo
Código:
this.form.services.value=checkChoice(this);
pero las 2 neuronas que me quedan buenas no dieron para mas, espero puedan ayudarme... Saludos!

Última edición por ratmayor; 03/11/2009 a las 12:37
  #2 (permalink)  
Antiguo 03/11/2009, 12:47
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Respuesta: Generar un serial con JS

Hola ratmayor

Pon un evento onclick en cada checkbox y utiliza este código:

Código javascript:
Ver original
  1. frm=document.nombreFormu;
  2.   ser='';
  3.   for (i=0; ele=frm.elements[i]; i++)
  4.     if (ele.type='checkbox')
  5.       ser += (ele.checked) ? '1,' : '0,';
  6.   document.nombreHidden.value = ser;

Saludos,
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 18:33.