Avatar billede nettrain Nybegynder
30. april 2002 - 13:30 Der er 9 kommentarer og
1 løsning

Form der tæller sammen

Jeg har en form som skal udfyldes af brugeren. den bliver sendt via CGI script til min mailadresse.

I min form er der nogle felter hvor man skal taste nogle priser ind, hvordan gør jeg således at de priser der bliver indtastet, automatisk bliver regnet sammen og skrevet i et textfelt, som hedder fx. "Ialt"?

/NetTrain/
Avatar billede jakoba Nybegynder
30. april 2002 - 13:42 #1
i <head sektionen:

<script type='text/javascript'>

var antalFelter = 3;    // juster efter behag.

function opdater ( formObj ) {
    var sum = 0;
    for ( i=0; i<antalfelter; i++ ) {
        sum += parseFloat( formObj.elements["felt"+i].value;
    }
    formObj.resultat.value = sum;
}

</script>

nede i din formular navngiver du så felterne med  name='felt0', name='felt1', ...

<form ... >

<input type='text' name='felt0' value="" onkeyup="opdater(this.form)">
<input type='text' name='felt1' value="" onkeyup="opdater(this.form)">
<input type='text' name='felt3' value="" onkeyup="opdater(this.form)">
<input type='text' name='resultat' value="" onfocus='this.blur()'>

</form>

mvh JakobA
Avatar billede jakoba Nybegynder
30. april 2002 - 13:43 #2
Ups.  felt3 -> felt2  (fortløbende numre i navnet)
Avatar billede nettrain Nybegynder
30. april 2002 - 13:55 #3
eehh jeg kan ik få det til at virke... jeg har sat det der skal være i <head> </head> ind...

og resten ser sådan her ud:

<form name="form1" method="post" action="">
  <p>
    <input type='text' name='felt0' value="" onkeyup="opdater(this.form)">
    <input type='text' name='felt2' value="" onkeyup="opdater(this.form)">
    <input type='text' name='felt3' value="" onkeyup="opdater(this.form)">
    <input type='text' name='resultat' value="" onfocus='this.blur()'>
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>

Er det korrekt?
Avatar billede nettrain Nybegynder
30. april 2002 - 13:56 #4
bortset fra action selvfølgelig ik er på endnu!!! :)
Avatar billede jakoba Nybegynder
30. april 2002 - 14:12 #5
Du har lavet samme fejl som jeg :-))
de felterne skal hedde  felt0, felt1, felt2, ...
og der må ikke være 'huller' i nummereringen (du kangler et 'felt1'.

mvh JakobA
Avatar billede nettrain Nybegynder
30. april 2002 - 14:18 #6
Summen bliver stadig ik skrevet i sidste felt, selvom de hedder felt0, felt1, felt2...?
Avatar billede nettrain Nybegynder
30. april 2002 - 14:37 #7
Den ligger her hvis det er....

http://hjem.get2net.dk/MG/test.htm
Avatar billede nettrain Nybegynder
30. april 2002 - 14:50 #8
Nogen der ka hjælpe mig? Står og ska bruge det nemlig... :)
Avatar billede nettrain Nybegynder
30. april 2002 - 15:28 #9
Er sq ved at gå helt i spåner her... kan virkelig ik finde fejlen... :(
Avatar billede jakoba Nybegynder
04. september 2002 - 16:34 #10
det var min fejl. jeg glemte at aflutte med en ) i linien:
        sum += parseFloat( formObj.elements["felt"+i].value;
der skal stå
        sum += parseFloat( formObj.elements["felt"+i].value );

du må undskylde jeg ikke har reageret tidligere. der har været lidt knas med ekspertens email-afsender, så der ikke blev sendt alle de mails der skulle.

mvh JakobA
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