Quello che ho finora è questo:
codice:
<html>
<head>
<script language="javascript" type="text/javascript">
var campi = new Array("campo1", "campo2" );
function somma(ff) {
alert("entrato nella funzione");
var tot = 0;
alert("ci sono "+campi.length+" campi da sommare");
for(var i=0; i<campi.length; i++) {
alert("sto per aggiungere il campo "+ff.elements[campi[i]].name);
var c = ff.elements[campi[i]].value;
alert("il suo value e` "+c);
if(c=="") c="0";
if(c=='NaN') {alert("Not A Number"); c=0;}
tot += parseInt(c,10);
}
ff.totale.value = tot;
}
var num=1;
function accoda(){
if(document.createElement && document.getElementById && document.getElementsByTagName) {
// crea elementi
var oTr=document.createElement("TR");
var oTd1=document.createElement("TD");
var oTd2=document.createElement("TD");
var oTd3=document.createElement("TD");
var oTd4=document.createElement("TD");
var oField=document.createElement("INPUT");
var oText=document.createTextNode(""+num);
// setta attributi
oField.setAttribute("type","text");
oField.setAttribute("name","testo"+num);
oField.setAttribute("size","10");
// appendi al relativo padre
oTd1.appendChild(oField);
oTd2.appendChild(oText);
oTr.appendChild(oTd1);
oTr.appendChild(oTd2);
document.getElementById('tabella').getElementsByTagName('TBODY')[0].appendChild(oTr);
// incrementa variabile globale
alert("prima: "+campi);
campi.push("testo"+num);
alert("dopo "+campi);
num++
}
}
function rimuovi(){
if(document.removeChild && document.getElementById && document.getElementsByTagName) {
// se non e' la prima riga
if(num>1){
// riferimento al tbody
var tb=document.getElementById('tabella').getElementsByTagName('TBODY')[0];
// riferimento all' ultimo TR
var lastTr=tb.getElementsByTagName('TR')[(tb.getElementsByTagName('TR').length)-1]
var fieldn = lastTr.getElementsByTagName('input')[0].name;
for(var i=0; i<campi.length; i++) {
if(campi[i] == fieldn) campi.splice(i,1);
}
// rimuovi
tb.removeChild(lastTr);
// decrementa variabile globale
num--
}
}
}
</script>
</head>
<body>
<form name="modulo">
<table align="center">
<tr>
<td>Campo 1</td>
<td><input name="Campo1" maxLength="10" size="10" onblur="somma(this.form)" /> </td>
<td><input name="Commento 1)" type="button" value="*" onClick="show_hide(this);"> </td>
<td><input name="Aggiungi" type="button" value="Aggiungi" onclick="accoda()"><input type="button" value="Rimuovi" onclick="rimuovi()"></td>
</tr>
</table>
<form name="modulo">
<table align="center" id="tabella">
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
</form>
<table align="center">
<tr>
<td>Campo 2</td>
<td><input name="Campo2" maxLength="10" size="10" onblur="somma(this.form)" /> </td>
<td><input name="Commento 2)" type="button" value="*" onClick="show_hide(this);"> </td>
<td><input name="Aggiungi" type="button" value="Aggiungi" onclick="accoda()"><input type="button" value="Rimuovi" onclick="rimuovi()"></td>
</tr>
<tr></tr>
<tr></tr>
<tr>
<td>TOTALE</td>
<td><input name="totale" type="text" maxLength="12" size="10" style="background:#FFFF00 ;" readonly></td>
</tr>
<tr></tr>
</table>
</body>
</form>
</html>
non ho ancora un posto dove metterla in rete...