Ciao a tutti.
Ho manipolato uno script trovato nel web per generare dinamicamente delle righe in una tabella e avrei bisogno di un suggerimento su come aggiungere un paio di funzionalità.

codice:
var num=1;
function accoda(){
    if(document.createElement && document.getElementById && document.getElementsByTagName) {
        // crea elementi
        var oTr=document.createElement("TR");
        var oTd1=document.createElement("TD");    //colonna combo articolo
        var oTd2=document.createElement("TD");    //colonna descrizione
    var oTd3=document.createElement("TD");    //colonna quantità
    var oTd4=document.createElement("TD");    //colonna U.M.
    var oTd5=document.createElement("TD");    //colonna prezzo unitario
    var oTd6=document.createElement("TD");    //colonna pulsante rimuovi
        
        var oField1=document.createElement("SELECT");
    var oField2=document.createElement("INPUT");
    var oField3=document.createElement("INPUT");
    var oField4=document.createElement("INPUT");
    var oField5=document.createElement("INPUT");
        var oButt=document.createElement("INPUT");


        // setta attributi
        oField1.setAttribute("name","select"+num);
    //---------------------------------------------
    oField2.setAttribute("type","text");
        oField2.setAttribute("name","descrizione"+num);
    oField2.setAttribute("size","57");
    //---------------------------------------------
        oField3.setAttribute("type","text");
        oField3.setAttribute("name","qty"+num);
    oField3.setAttribute("size","7");
    //---------------------------------------------
        oField4.setAttribute("type","text");
        oField4.setAttribute("name","um"+num);
    oField4.setAttribute("size","4");
    //---------------------------------------------
        oField5.setAttribute("type","text");
        oField5.setAttribute("name","prezzo"+num);
    oField5.setAttribute("size","13");
    //---------------------------------------------
        oButt.setAttribute("type","button");
        oButt.setAttribute("value","Rimuovi");


        // setta gestore evento
        if(oButt.attachEvent) oButt.attachEvent('onclick',function(e){rimuovi(e);})
        else if(oButt.addEventListener) oButt.addEventListener('click',function(e){rimuovi(e);},false)


        // appendi al relativo padre
        oTd1.appendChild(oField1);
    oTd2.appendChild(oField2);
    oTd3.appendChild(oField3);
    oTd4.appendChild(oField4);
    oTd5.appendChild(oField5);
        oTd6.appendChild(oButt);
        oTr.appendChild(oTd1);
        oTr.appendChild(oTd2);
    oTr.appendChild(oTd3);
    oTr.appendChild(oTd4);
    oTr.appendChild(oTd5);
    oTr.appendChild(oTd6);
        document.getElementById('tabella').getElementsByTagName('TBODY')[0].appendChild(oTr);


        // incrementa variabile globale
        num++
    }
}

Prima funzionalità:
ho notato che la combo della seconda riga della tabella (num = 2) perde ogni caratteristica della combo della prima riga (num = 1), dia eventuali option value che inserisco che eventi su onchange. La domanda è: come faccio a portare sulle successive combo le stesse funzionalità della prima?

Seconda funzionalità:
ogni riga dovrà essere un record di un database mysql. La variabile num sarà quella che determinerà il numero di record che dovranno essere inseriti nella tabella del database. Uno script di questo tipo potrebbe andare bene?

codice:
// branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        check= new XMLHttpRequest();
        check.open("GET", "form/pagina.php?n_record="+num, true);
        check.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        check= new ActiveXObject("Microsoft.XMLHTTP");
        if (check) {
        check.open("GET", "form/pagina.php?n_record="+num, true);
            check.send();
        }
    }

Grazie per ogni tipo di aiuto.