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 è:
Come vedete nella riga c'è un SELECT che va a cambiare un TEXTBOX in base alla selezione.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">....
La funzione JS per aggiungere il pulsante è:
C'è un pulsante quindi che richiama questa funzione che crea la riga nella tabella.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); }
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 !![]()

Rispondi quotando
