Ciao a tutti,
ho un problema non da poco... anche perchè su FF funziona , su IE no.
Devo creare un pulsante che aggiunge una riga su una tabella e che questa riga al suo interno abbia dei campi INPUT.
Una riga stardard di questa tabella è:
codice:
<tr>
<td>1a Mansione: </td>
<td><select name="sel_qualifica_1" onchange="document.forms[0].qualifica_1.value=this.value;">
</select><input type="text" name="qualifica_1" /></td>
<td>Numero:
<input name="numero_1" type="text" value="0" maxlength="3" size="4"/>(0 = non limitato) </td>
</tr>
<tr id="ultima_riga">....
Come vedete nella riga c'è un SELECT che va a cambiare un TEXTBOX in base alla selezione.
La funzione JS per aggiungere il pulsante è:
codice:
function createRow(obj){
var curr_riga=obj.parentNode.parentNode;
var curr_tab=curr_riga.parentNode;
num++;
// crea elementi
var textNode1 = document.createTextNode(num+"a Mansione: ");
var textNode2 = document.createTextNode("Numero: ");
var textNode3 = document.createTextNode(" (0 = non limitato)");
var numero=document.createElement("INPUT");
var qual=document.createElement("INPUT");
var selec=document.createElement("SELECT");
var riga1=document.createElement("TR");
var cella1=document.createElement("TD");
var cella2=document.createElement("TD");
var cella3=document.createElement("TD");
// setta attributi
numero.setAttribute("name","numero_"+num);
numero.setAttribute("type","text");
numero.setAttribute("value","0");
numero.setAttribute("maxlength","3");
numero.setAttribute("size","4");
qual.setAttribute("name","qualifica_"+num);
selec.setAttribute("name","sel_qualifica_"+num);
qual.setAttribute("type","text");
selec.setAttribute("onchange","document.forms[0].qualifica_"+num+".value=this.value;");
// crea lista nel select
for(i=0;i<qualifiche.length;i++){
opt=document.createElement("OPTION");
txt=document.createTextNode(qualifiche[i]);
opt.setAttribute("value",qualifiche[i]);
opt.appendChild(txt);
selec.appendChild(opt);
}
// appendi al relativo padre
cella1.appendChild(textNode1);
cella2.appendChild(selec);
cella2.appendChild(qual);
cella3.appendChild(textNode2);
cella3.appendChild(numero);
cella3.appendChild(textNode3);
riga1.appendChild(cella1);
riga1.appendChild(cella2);
riga1.appendChild(cella3);
curr_tab.insertBefore(riga1,curr_riga);
}
C'è un pulsante quindi che richiama questa funzione che crea la riga nella tabella.
Il mio problema è che su FF tutto va alla grande, su IE la riga viene creata, ma non va il codice onchange del SELECT creato.
C'è un motivo legato a IE o è un errore nel mio codice?
Grazie a chi avrà la pazienza di aiutarmi !