Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/11/2009, 12:18
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Echadme una manita...

opino que hay que rehacer todo tu codigo porque tu codigo no se puede corregir con pocos cambios. basicamente lo que se necesita es verificar el estado de todos los checkbox, si al menos uno esta marcado se habilita el boton, de lo contrario se inhabilita. en la siguiente funcion le pasas dos argumentos: la coleccion de checkbox y la referencia del boton.
Código:
function enableDisable(collection, control){
for(var i = 0; collection[i]; i++) if(collection[i].checked){ // si al menos uno esta marcado;
control.disabled = false;
return; // salir del bucle y funcion ya que no es necesario verificar el resto de los checkbox;
}
control.disabled = true;
}
para implementarlo, la forma mas facil es tener todos los checboxes en un elemento contenedor, en este elemento defines el evento onclick. a la misma vez de este elemento vas a obtener la coleccion de checkboxes. el siguiente ejemplo muestra como se implementa.
Código:
<div onclick="enableDisable(this.getElementsByTagName('input'), document.getElementById('button'))">
<input type="checkbox" ... />
<!-- mas de un checkbox -->
</div>
con este ejemplo no tienes que repetir la funcion en cada checkbox. la porcion en rojo varia segun como debes obtener la referencia del boton. por ejemplo en tu caso podria ser algo como parent.document.form_name.submit_name.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.