Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/12/2011, 01:52
Avatar de totti026
totti026
 
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 4
Pregunta Poner checkboxs en disabled si estan checkados

Hola amigos tengo un pequeño problema con un script que no logro hacer o que quiere. Esto es lo que estoy tratando de hacer:
-en un formulario tengo varios checkbox y activo uno que otro y los guardo en la bese de datos.
-en mi formulario de editar logro jalar los checkbox activados y ocupo esta funcion para ir haciendo una suma al irlos activando ocupando onload en el body:
Código Javascript:
Ver original
  1. var total = 0;
  2.  
  3. function comprobarChecks()
  4. {
  5. var checks = document.getElementsByTagName("input"); //recojo todos los input
  6. for(i=0;i<checks.length;i++)
  7. {
  8. if(checks[i].type=="checkbox") //solo contemplo los de tipo checkbox
  9. {
  10. if (checks[i].checked) //si esta checkado agrego a total su valor
  11. {total += parseFloat(checks[i].value);
  12. document.formulario.total.value=total;}
  13.  
  14. }
  15. }
  16. }

y quiero ocupar esta otra funcion para que al mismo tiempo cheque cuales checkbox ya estan activados y los ponga en disabled para evitar su edicion:
Código Javascript:
Ver original
  1. function Checkscheckados()
  2. {
  3. var checks = document.getElementsByTagName("input"); //recojo todos los input
  4. for(i=0;i<checks.length;i++)
  5. {
  6. if(checks[i].type=="checkbox") //solo contemplo los de tipo checkbox
  7. {
  8. if(checks[i].checked) //si esta checkado agrego disabled
  9. {checks[i].disabled = true;}
  10. else {checks[i].disabled = false;}
  11.  
  12. }
  13. }
  14. }

Pero mi conflicto esta en el formulario de editar porque activo otro checkbox y ese me lo guarda en la base de datos pero los que ya estaban activados me los borra de la base.
*en cada checkbox tengo esto:
Código HTML:
Ver original
  1. <input name="checkbox1" id="checkbox1" type="checkbox" <?php echo $check1 == '1' ? 'checked' : ''; ?>   onclick="if (this.checked) sumar(10); else restar(1)" value="1">

El conflicto sera porque son paraecidas las funciones?, he tratado de que quede asi pero tampoco:
Código Javascript:
Ver original
  1. var total = 0;
  2.  
  3. function comprobarChecks()
  4. {
  5. var checks = document.getElementsByTagName("input"); //recojo todos los input
  6. for(i=0;i<checks.length;i++)
  7. {
  8. if(checks[i].type=="checkbox") //solo contemplo los de tipo checkbox
  9. {
  10. if (checks[i].checked) //si esta checkado agrego a total su valor
  11. {total += parseFloat(checks[i].value);
  12. document.formulario.total.value=total;
  13. checks[i].disabled = true;}
  14.  
  15. }
  16. }
  17. }