Struppi: in einer Form rechnen

Beitrag lesen

danke an RFB, das ist mehr als ich erwartet habe,
ich habe gedacht, das müßte (könnte) man mit einem mehrdim. Array
machen.

kann man auch:

function watchForm(f)  
{  
    if(!f) return;  
  
    for(var i = 0; i < f.elements.length; i++)  
    {  
         var el = f.elements[i];  
         if(el.type == 'text') el.onkeyup = el.onblur = gesamt_summe;  
    }  
}  
function gesamt_summe()  
{  
    var f = this.form;  
    var index = 0;  
    var gg = 0;  
    while( f.anzahl[index] )  
    {  
        var anzahl = f.anzahl[index].value || 0;  
        var preis = f.preis[index].value || 0;  
        gg += f.summe[index].value = anzahl * preis;  
        index++;  
    }  
    f.gg_summe.value = gg;  
}  
window.onload = function()  
{  
watchForm( document.forms['rechne'] );  
};  

und der HTML code sieht dann z.b. so aus:

<form action="#" name="rechne">  
<table>  
<tr>  
<td> Typ </td> <td> Anzahl </td> <td> Preis </td> <td> Summe </td>  
</tr>  
  
<tr>  
<td> <input name="typ"> </td>  
<td> <input name="anzahl"> </td>  
<td> <input name="preis"> </td>  
<td> <input name="summe"> </td>  
</tr>  
  
<tr>  
<td> <input name="typ"> </td>  
<td> <input name="anzahl"> </td>  
<td> <input name="preis"> </td>  
<td> <input name="summe"> </td>  
</tr>  
  
<tr>  
<td colspan=3> Summe: </td>  
<td> <input name="gg_summe"> </td>  
</tr>  
</table>  
  
</form>  

Struppi.

--
Javascript ist toll (Perl auch!)