Avatar billede freeweb Nybegynder
03. november 1999 - 17:41 Der er 4 kommentarer og
1 løsning

Udregninger i formular

Jeg skal lave en formular til bestilling af varer.
Jeg skal bruge felter, hvor man indtaster antal, og ønsker så felter, hvor beløbet (antal x pris) bliver  skrevet.
Til sidst skal der være et felt hvor det samlede beløb (summen af beløbsfelterne) bliver skrevet.
Kan det lade sig gøre i JavaScript?
Selve udregningen og udskrivningen er jo ikke så svær, men hvordan får jeg det indtastede antal ind i en variabel?
Og ligeledes, hvordan får jeg beløbsfelterne ind i en formel, der opsummerer dem?
Avatar billede skjoldby Nybegynder
03. november 1999 - 19:01 #1
Kan du bruge denne:

<html>
<head>
<title>form priser</title>


<script language="JavaScript">
function beregningTotal () {
var total = 0;
total += (20.00 * document.order.antal1.value);
total += (40.00 * document.order.antal2.value);
document.order.totalPris.value = total;
}

function updatePris (nummer, stkPris) {
prisNavn = "pris" + nummer;
antalNavn = "antal" + nummer;
var a = document.order[antalNavn].value;
document.order[prisNavn].value = a * stkPris;
beregningTotal();
}

</script>

</head>

<body bgcolor="#FFFFFF">
<form method="post" action="" name="order">
  <p>Antal:
    <input type="text" name="antal1" onChange="updatePris(1,20.00);">
    Pris:
    <input type="text" name="pris1">
    (Dette koster kr. 20,00)</p>
  <p>Antal:
    <input type="text" name="antal2" onChange="updatePris(2,40.00);">
    Pris:
    <input type="text" name="pris2">
    (Dette koster kr. 40,00)</p>
  <p>&nbsp;</p>
  <p>Total:
    <input type="text" name="totalPris">
  </p>
</form>

</body>
</html>


Skjoldby
Avatar billede erikjacobsen Ekspert
03. november 1999 - 20:45 #2
Et lille NB: Du skal principielt checke at der står tal i felterne.
Avatar billede freeweb Nybegynder
04. november 1999 - 13:10 #3
Til Skjoldby
Ja et stykke af vejen, men det er lidt upraktisk, at man skal indsætte priserne både i formularen (for at få prisudregnigen af den enkelte varegruppe og under "funtion beregning af total". (For at få summen). Den sidste skulle gerne opdateres automatisk.
Det ville også være rart, hvis de der udfylder formularen ikke har adgang til de udregnede felter. De har jo ikke noget at gøre der. D.v.s, at formularen kun skal indeholde antalsfelter, som skal udfyldes.
Avatar billede skjoldby Nybegynder
04. november 1999 - 19:34 #4
Ja, men det laver vi da hurtigt.

Du glemmer bare funktionen updatePris() og bruger denne form i stedet:

<form method="post" action="" name="order">
  <p>Antal:
    <input type="text" name="antal1" onChange="beregningTotal();">
    Denne vare koster kr. 20,00 </p>
  <p>Antal:
    <input type="text" name="antal2" onChange="beregningTotal();">
    Denne vare koster kr. 40,00 </p>
  <p>&nbsp;</p>
  <p>Total:
    <input type="text" name="totalPris">
  </p>
</form>
Avatar billede freeweb Nybegynder
08. november 1999 - 11:34 #5
Hej skjoldby
Så er vi langt henne af vejen, men jeg vil jo gerne have prisen (antal*beløb) udskrevet, bare ikke så brugerne kan skrive i feltet.
Nu får du de 60 point. Og så stiller jeg spørgsmålet igen, så du kan få 120 til.
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