Avatar billede casaolsen Nybegynder
19. december 2002 - 15:46 Der er 4 kommentarer

Udregning af antal

Hej...

Jeg har brug for lidt hjælp til opsætning af en lille udregningsformular. Når man indtaster i felterne (alm. text felter) skal den samlede værdi komme frem automatisk. Områderne (A,B,C,D) har intet med hinanden at gøre, men skal ligge i samme formular...

felt A1 - felt B1 - felt C1 - felt D1
felt A2 - felt B2 - felt C2 - felt D2
felt A3 - felt B3 - felt C3 - felt D3
total A - total B - total C - total D

Kan det lade sig gøre?
Avatar billede olebole Juniormester
19. december 2002 - 17:09 #1
<ole>

Ja, det kan det godt

/mvh  *<|:o)
</bole>
Avatar billede Slettet bruger
19. december 2002 - 17:43 #2
casaolsen>> Det gælder om at bruge hv-spørgsmål, når olebole er i nærheden! :)

<html>
<head>
<script>
function regnSammen(frm, b) {
t = 0;
for (i = 1; i <= 3; i++) {
if (frm.elements[b + i].value != "" && !isNaN(frm.elements[b + i].value))
t += parseInt(frm.elements[b + i].value, 10);
}
frm.elements[b + "_total"].value = t;
}
</script>
</head>
<body>
<form>
<table>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
</tr>
<tr>
<td><input type="text" name="a1" onKeyUp="regnSammen(this.form, 'a');"></td>
<td><input type="text" name="b1" onKeyUp="regnSammen(this.form, 'b');"></td>
<td><input type="text" name="c1" onKeyUp="regnSammen(this.form, 'c');"></td>
<td><input type="text" name="d1" onKeyUp="regnSammen(this.form, 'd');"></td>
</tr>
<tr>
<td><input type="text" name="a2" onKeyUp="regnSammen(this.form, 'a');"></td>
<td><input type="text" name="b2" onKeyUp="regnSammen(this.form, 'b');"></td>
<td><input type="text" name="c2" onKeyUp="regnSammen(this.form, 'c');"></td>
<td><input type="text" name="d2" onKeyUp="regnSammen(this.form, 'd');"></td>
</tr>
<tr>
<td><input type="text" name="a3" onKeyUp="regnSammen(this.form, 'a');"></td>
<td><input type="text" name="b3" onKeyUp="regnSammen(this.form, 'b');"></td>
<td><input type="text" name="c3" onKeyUp="regnSammen(this.form, 'c');"></td>
<td><input type="text" name="d3" onKeyUp="regnSammen(this.form, 'd');"></td>
</tr>
<tr>
<td><input type="text" name="a_total" value="0" readonly></td>
<td><input type="text" name="b_total" value="0" readonly></td>
<td><input type="text" name="c_total" value="0" readonly></td>
<td><input type="text" name="d_total" value="0" readonly></td>
</tr>
</table>
</form>
</body>
</html>
Avatar billede olebole Juniormester
19. december 2002 - 17:52 #3
Hehe .... nemlig  ;o)
Jeg havde nu ellers lige forbarmet mig over staklen og lavet et eksempel.
Denne her er måske lidt mere generisk, da man frit kan tilføje nye felter:

<html>

/mvh
<head>   
<script type="text/JavaScript">   
var d=document;
function add(series) {
    var f, nameArr, sum=0;
    f = d.addForm;
    nameArr = series.name.split("_");
    for ( i=0; i<f.length; i++ ) {
        if ( f.elements[i].name.indexOf(nameArr[0]+"_")!=-1 && f.elements[i].value!="" && !isNaN(f.elements[i].value) ) {
            sum += parseInt(f.elements[i].value);
        }
    }
    f.elements[ "tot"+nameArr[0] ].value = sum;
}
</script>
</head>
<body>

<form name="addForm">
<input type="text" name="A_1" onkeyup="add(this)">
<input type="text" name="A_2" onkeyup="add(this)">
<input type="text" name="A_3" onkeyup="add(this)">
<input type="text" name="totA">
<br><br>
<input type="text" name="B_1" onkeyup="add(this)">
<input type="text" name="B_2" onkeyup="add(this)">
<input type="text" name="B_3" onkeyup="add(this)">
<input type="text" name="totB">
</form>

</body>
</html>
Avatar billede olebole Juniormester
19. december 2002 - 17:54 #4
Ups .... der sneg sig et '/mvh' på et forkert sted  :D
Men 'Med Venlig Hilsen', alligevel
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester