Ciao a tutti,
premetto che sono un novizio di java; mi sono messo a fare una cosa che credevo semplice, ma che evidentemente non è così!
Ho una pagina html nella quale metto dei checkbox; a priori non so quanti di questi verranno selezionati e quindi vorrei usare come "name" un array. Questo è il codice HTML

<form name="myform">
<table border=1>
<tr>
<td> <input type="checkbox" name="ch[]" value="1"> </td> <td> First Item </td>
</tr>
<tr>
<td> <input type="checkbox" name="ch[]" value="2"> </td> <td> Second Item </td>
</tr>
<tr> <td colspan="2" align="center" valign="middle"> <input type="button" value="Invia" onClick="control()"> </td> </tr>
</table>

Quando l'utente invia i dati, vorrei eseguire il controllo di quali checkbox sono stati selezionati, e ho scritto il seguente script

<script language="JavaScript">
function control()
{
var incoming_boxes=document.forms['myform'].elements['ch[]'];
vec_length = incoming_boxes.length;
document.write(vec_length);
for(var i=0;i<=vec_length;i++){
if(incoming_boxes[i].checked==true)
{
document.write('do this');
}
else
{
document.write('do that');
}
}
}
</script>

NON VA! (e non so perchè ). Mi restituisce correttamente il numero di elementi del vettore incoming_boxes (sono 2 elementi), ma non fa il controllo su chi è selezionato e chi no.

Ho provato anche in un modo alternativo (posto qui di seguito tutto il codice, sia la parte HTML sia lo script java)

<form name="myform">
<table border=1>
<tr>
<td> <input type="checkbox" name="ch" value="1"> </td> <td> First Item </td>
</tr>
<tr>
<td> <input type="checkbox" name="ch" value="2"> </td> <td> Second Item </td>
</tr>

<tr> <td colspan="2" align="center" valign="middle"> <input type="button" value="Invia" onClick="control()"> </td> </tr>
</table>

<script language="JavaScript">
function control()
{
var incoming_boxes=document.myform.ch;
vec_length = incoming_boxes.length;
document.write(vec_length);
for(var i=0;i<=vec_length;i++){
if(incoming_boxes[i].checked==true)
{
document.write('do this');
}
else
{
document.write('do that');
}
}
}
</script>


Se qualcuno sa darmi un suggerimento, lo ringrazio in anticipo.
Ciao, e a buon rendere
Seba