Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/05/2012, 09:29
caitoss
 
Fecha de Ingreso: noviembre-2003
Mensajes: 78
Antigüedad: 20 años, 6 meses
Puntos: 0
Arreglo de <FORM>

Tengo un script para una función de gestión documental que trata de enviar documentos a los gestores autorizados de un teterminado Proyecto...
Dentro del script tengo el siguiente arreglo:

Abro el <FORM>
echo "<form method=\"post\" name=\"maruid\">";

Pongo un checkbox para activar o desactivar todos los usuarios
echo "<input name=\"allbox\" onclick=\"CheckAll();\" type=\"checkbox\" value=\""._CHECKALL."\" checked>Todos los gestores autorizados<br>";

Hago un while para componer el array de usuarios a los que voy a enviar....
while ($condiciones){
echo "<input type=\"checkbox\" name=\"a_uid[]\" value=\"$uid\" checked>";
}

Hago otro while para componer el array de documentos que voy a enviar....
while ($condiciones){
echo "<input type=\"checkbox\" name=\"a_did[]\" value=\"$did1\" checked><font class=\"tiny_blanco\">$archivo1<br></font>";
}

Envío $a_uid y $a_did
echo "<INPUT TYPE=\"SUBMIT\" NAME=\"op\" VALUE=\"Enviar\">";

escribo el javascript para activar o desactivar el array $a_uid (destinatarios)
///////////////////////////////////////////////
echo "<script type=\"text/javascript\">\n\n
<!--\n\n
function CheckAll() {\n
for (var i=0;i<document.maruid.elements.length;i++) {\n
var e = document.maruid.elements[i];\n
if ((e.name != 'allbox') && (e.type=='checkbox'))\n
e.checked = document.maruid.allbox.checked;\n
}\n
}\n\n

function CheckCheckAll() {\n
var TotalBoxes = 0;\n
var TotalOn = 0;\n
for (var i=0;i<document.maruid.elements.length;i++) {\n
var e = document.maruid.elements[i];\n
if ((e.name != 'allbox') && (e.type=='checkbox')) {\n
TotalBoxes++;\n
if (e.checked) {\n
TotalOn++;\n
}\n
}\n
}\n
if (TotalBoxes==TotalOn) {\n
document.maruid.allbox.checked=true;\n
} else {\n
document.maruid.allbox.checked=false;\n
}\n
}\n\n
-->\n
</script>\n\n";
////////////////////////////
Cierro el FORM
echo "</FORM>";

Hasta aquí todo funciona bien con una salvedad que es que yo quiero que el CkeckAll actue sólamente sobre el array de los usuarios ($a_uid) pero realmente me activa y desactiva todos los checkbox ($a_uid y $a_did).

Pienso que el problema es de anidamiento de <form> pero no encuentro el fallo.

¿Me podeis ayudar?. Supongo que sí pues siempre lo hacéis bien.

Muchas gracias.