Buongiorno a tutti.
Sto lavorando in Firefox 3.0.7.
Ho una funzione che inserisce una riga, contenente un <select name=MySEL> e una <img name=MyIMG>, in un DIV contenuto in un Form, tante volte quanto vale il parametro in ingresso.
Un'altra funzione provvede a controllare il valore di ogni Select modificando eventualmete il src della IMG (un segno di "Spunta" o un coso rosso per visualizzare la validità della scelta).
Il problema nasce quando ho soltanto UNA riga inserita (quindi UN select e UNA img):
Gli array, in questo caso, non esistono(e quindi document.MyForm.MyIMG[0] è undefined, mentre devo usare document.MyForm.MyIMG).
Questo fa sì che debba avere un " if (numero_di_righe>1) {" in OGNI SINGOLA funzione che cicla su questi arrays....
Non c'è proprio modo di "vederli" come arrays con un solo elemento?
Allego un "estratto" della funzione di scrittura e di quella di controllo
codice:
function WriteDIV() {
var i,j;
var strcode="";
for (i=0;i<Globals.numrighe;i++){
strcode += '<select onchange="MySEL _val(' + i +')" name="MySEL">';
strcode += '<option selected="selected">--</option>';
for (j=1;j<Globals.Articles.length;j++){
strcode += '<option>' + Globals.Articles[j] + '</option>';
}
strcode += '</select>[img]+aBB+[/img]
';
}
document.getElementById("divArticles").innerHTML = strcode;
}
function TestChoices(){
var i;
for (i=0;i<Globals.numrighe;i++) {
if (document.MyFORM.MySEL[i].selectedIndex!=0) { // ERRORE SE Globals.numrighe==1
document.MyFORM.MyIMG[i].src=aGL; // ERRORE SE Globals.numrighe==1
}else{
document.MyFORM.MyIMG[i].src=aRL; // ERRORE SE Globals.numrighe==1
}
}
Grazie
<editato perchè ho scritto una serie di stupidate, scusate>