sustituir el valor de variables

isct
04 de Octubre del 2003
Hola a todos, tengo un problema que debe ser una tontería pero no sé como resolverlo.
Tengo en mi html varios checkbox de nombre "check0", "check1", "check2" etc.. hasta un número n que conozco.
Desde javascript quiero saber cual está marcado y cual no
for (int i =0;i<= n; i++)
if (window.document.forms[0].checkXXXX.checked == true)
...

El problema es que donde pongo las XXXX no sé poner el código correcto para sustituir el valor de "i" y así el bucle me haga algo similar a esto:
if (window.document.forms[0].check1.checked == ..)
if (window.document.forms[0].check2.checked == ..

¿me podéis ayudar?

Muchas gracias.

Juan
04 de Octubre del 2003
Lo que tienes que hacer es poner el mismo nombre
a todos los checkboxes para crear un array y poder
acceder mediante el índice. Un ejemplo:

<html>
<head>
<title></title>
<script language="javascript">
function estadoChecks(){
for(var i=0;i<=2;i++){
window.alert("check[" + i.toString() + "].checked=" + window.document.forms[0].check[i].checked.toString());
}
}
</script>
</head>
<body>
<form>
<input type="checkbox" name="check" value="0">check[0]
<input type="checkbox" name="check" value="1">check[1]
<input type="checkbox" name="check" value="2">check[2]<br>
<input type="button" value="comprobar estado" onclick="estadoChecks();"
</form>
</body>
</html>

isct
04 de Octubre del 2003
Muchas gracias por tu ayuda, pero no lo puedo hacer así ya que también tengo que recibir los valores de los checkbox desde un servlet, y si no los llamo con nombre diferente, solo recibo aquellos que están marcados y no sé cuales son ya que los desmarcados no me llegan.
Estuve peleandome con ello y al final tuve que darles distinto nombre.

Juan
04 de Octubre del 2003
Pues entonces habrá que utilizar la función eval(). A
esta función se le envía una cadena de texto que es
código javascript. Ejemplo:

<html>
<head>
<title></title>
<script language="javascript">
function estadoChecks(){
for(var i=1;i<=3;i++){
window.alert("check" + i.toString() + ".checked=" + eval("window.document.forms[0].check" + i.toString() + ".checked.toString()"));
}
}
</script>
</head>
<body>
<form>
<input type="checkbox" name="check1" value="0">check1
<input type="checkbox" name="check2" value="1">check2
<input type="checkbox" name="check3" value="2">check3<br>
<input type="button" value="comprobar estado" onclick="estadoChecks();"
</form>
</body>
</html>

isct
04 de Octubre del 2003
Ya me funciona!, muchísimas gracias de verdad. Es que ando bastante perdida en javascript.
Saludos.