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.