Foros del Web » Programando para Internet » Javascript »

ayuda con checkbox

Estas en el tema de ayuda con checkbox en el foro de Javascript en Foros del Web. buen dia a todos en el foro tengo una consulta q hacerle a quien me pueda ayudar tengo mi script que me dice cuantos checkbox ...
  #1 (permalink)  
Antiguo 10/01/2011, 08:31
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 5 meses
Puntos: 16
ayuda con checkbox

buen dia a todos en el foro tengo una consulta q hacerle a quien me pueda ayudar

tengo mi script que me dice cuantos checkbox tengoseleccionados de esta forma

Código Javascript:
Ver original
  1. for (i=0;i<document.forms.form1.elements.length;i++){
  2.     if(document.forms.form1.elements[i].type == "checkbox"){
  3.         if(document.forms.form1.elements[i].checked==true){
  4.             flag_select=true;
  5.             document.forms.form1.select.value=valor;
  6.             document.forms.form1.flag.value=flag_select;
  7.             }
  8.    
  9. }

existira alguna forma de que usando el mismo script me que haga esto:

Código Javascript:
Ver original
  1. for (i=0;i<document.forms.form1.elements.length;i++){
  2.     if(document.forms.form1.elements[i].type == "checkbox"){
  3.         if(document.forms.form1.elements[i].checked==true){            
  4. ///aqui alguna forma de obtener el nombre del checbox seleccionado
  5.             }
  6.    
  7. }



tomando en cuenta de que mis checbox tienen esta estructura

Código HTML:
Ver original
  1. <input type="checkbox" name="registro<%=rs2.getObject("id_rel_etiqueta")%>" value="checkbox" value="<%=rs2.getObject("id_rel_etiqueta")%>" onClick="funcion()"/>

la cual el nombre de mi checkbox es registro<%=rs2.getObject("id_rel_etiqueta")%> donde <%=rs2.getObject("id_rel_etiqueta")%> es el valor de un registro de mi base de datos y los checks se generan dinamicamente

si me pueden ayudar se los agradeceria, muchas gracias por su tiempo.

saludos
  #2 (permalink)  
Antiguo 10/01/2011, 09:00
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: ayuda con checkbox

yo reemplazaría:

document.forms.form1 y document.forms.form1.select.value=valor;

por

document.forms['form1'] y document.forms['form1'].elements['select'].value=valor;

para ajustarlo a los estándares y asegurar que funcione en todos los navegadores.

para obtener el name simplemente:

var nombre = document.forms['form1'].elements[i].name;

ó

var nombre = document.forms['form1'].elements[i].getAttibute('name');
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 10/01/2011, 09:14
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 5 meses
Puntos: 16
Respuesta: ayuda con checkbox

gracuias por responder maycolalvarez mira aprovechandome me podrias ayudar mira la idea es q mi pagina solo me deje seleccionar un solo check a la vez tengo esta funcion actualmente

Código Javascript:
Ver original
  1. <script language="JavaScript" type="text/javascript">
  2. function putOn(valor)
  3. {
  4. var j=0,elemento=document.forms['form1'].elemento.value, select=document.forms['form1'].select.value,flag_select=false,flag_select2=document.forms['form1'].flag.value;
  5. if(flag_select2==false){
  6. for (i=0;i<document.forms['form1'].elements.length;i++){
  7.     if(document.forms['form1'].elements[i].type == "checkbox"){
  8.         if(document.forms['form1'].elements[i].checked==true){
  9.             j=i;
  10.             if(select==0){                
  11.             flag_select=true;
  12.             document.getElementById("select").value=valor;
  13.             document.forms['form1'].flag.value=flag_select;
  14.             document.forms['form1'].elemento.value=i;
  15.                  }
  16.            
  17.             }
  18.    
  19. }
  20.     }
  21.    
  22.        
  23. }
  24. else{
  25.  for (i=0;i<document.forms['form1'].elements.length;i++){
  26.    if(document.forms['form1'].elements[i].type == "checkbox"){
  27.          if(i==j){
  28.             document.forms['form1'].elements[i].checked=0
  29.          }
  30.          if(i==elemento){
  31.              document.forms['form1'].elements[i].checked=1
  32.          }
  33.      
  34.  }
  35.  }
  36. window.addEvent('domready', function() {
  37. Sexy = new SexyAlertBox();
  38. Sexy.error('<h1>Error de Seleccion!!!</h1><p>Ya Has Seleccionado un Registro.</p>');
  39.  
  40.     }   );
  41. }
  42. }
  43. function putOff()
  44. {
  45. for (i=0;i<document.forms['form1'].elements.length;i++){
  46.     if(document.forms['form1'].elements[i].type == "checkbox"){
  47.         document.forms['form1'].elements[i].checked=0}
  48.     }
  49.      document.forms['form1'].select.value=0;
  50.             document.forms['form1'].flag.value="false";
  51.              document.forms['form1'].elemento.value="";
  52. }
  53.        
  54.  
  55. </script>

y este es mi check

Código HTML:
Ver original
  1. <input type="checkbox" name="registro" value="checkbox" value="<%=rs2.getObject("id_rel_etiqueta")%>" onClick="if (this.checked) {putOn(<%=rs2.getObject("id_rel_etiqueta")%>)} else {putOff()}"/>

ya le intente de muchas formas con este me selecciona l que quiero y el primero y me manda el error de q ya seleccione uno cuando solo he seleccionado 1 pero mi script me selecciona 2 checks la idea de usar el nombre era para mandarlo a una de mis cajas de texto q iba a ser el primer check q seleccione y cuando volviera a seleccionar otro check me tomara el nombre del check q ya habia seleccionado y desactivara cualquier otro check q haya seleccionado y solo dejarme seleccionado l check q habia seleccionado primero.

intente con otro el cual me funcionaba solo cuando mi segunda vez q intentaba seleccionar otro check (teniendo ya uno seleccionado ) q estaba abajo del primero seleccionado pero cuando seleccionaba uno que esta arriba me dejaba seleccionado el segundo y me deseleccionaba el primero no se si me explique pero la idea principal es solo poder seleccionar un check a la vez

si me pudieras ayudar te lo agradeceria muchooo

gracias por contestar
  #4 (permalink)  
Antiguo 10/01/2011, 11:01
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 5 meses
Puntos: 16
Respuesta: ayuda con checkbox

ya logre acerlo lo posteo para aquella persona que necesite algo como lo que yo ocupo

Código Javascript:
Ver original
  1. function putOn(valor)
  2. {
  3. var j=0,elemento=document.forms['form1'].elemento.value-1, select1=document.forms['form1'].select1.value,flag_select2=document.forms['form1'].flag.value;
  4. for (i=0;i<document.forms['form1'].elements.length;i++){
  5.     if(document.forms['form1'].elements[i].type == "checkbox"){
  6.         if(document.forms['form1'].elements[i].checked==true){
  7.             if(select1==0){
  8.             j=i;
  9.                      flag_select2=true;
  10.             }
  11.         }  
  12. }
  13.     }
  14. if(flag_select2==true && select1==0){
  15.       document.getElementById("select1").value="";
  16.             document.getElementById("select1").value=valor;
  17.             document.forms['form1'].flag.value="";
  18.             document.forms['form1'].flag.value=flag_select2;
  19.             document.forms['form1'].elemento.value="";
  20.             document.forms['form1'].elemento.value=j+1;
  21. }
  22. else{
  23.     window.addEvent('domready', function() {//de aqui
  24. Sexy = new SexyAlertBox();
  25. Sexy.error('<h1>Error de Seleccion!!!</h1><p>Ya Has Seleccionado un Registro.</p>');
  26.     }   );// hasta aqui es un aviso de alerta con mootools pero pueden usar la opcion alert();
  27.  for (i=0;i<document.forms['form1'].elements.length;i++){
  28.    if(document.forms['form1'].elements[i].type == "checkbox"){        
  29.        if(i==elemento){
  30.             document.forms['form1'].elements[i].checked=1;
  31.          }
  32.          else{
  33.             document.forms['form1'].elements[i].checked=0;
  34.  }
  35.  }
  36.     }
  37. }
  38. }
  39. function putOff()
  40. {
  41. for (i=0;i<document.forms['form1'].elements.length;i++){
  42.     if(document.forms['form1'].elements[i].type == "checkbox"){
  43.         document.forms['form1'].elements[i].checked=0}
  44.     }
  45.      document.forms['form1'].select1.value=0;
  46.             document.forms['form1'].flag.value="false";
  47.              document.forms['form1'].elemento.value="0";
  48. }

te permite seleccionar un check unicamente y las cajas de texto a las q mando los valores es para poder verificar q ya se halla seleccionado un check, se que tal vez se puede hacer mas optimo pero solo es una opcion para quien tenga el mismo problema q yo

gracias por su tiempo

Etiquetas: checkbox
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:04.