Avatar billede rane Nybegynder
22. marts 2005 - 11:23 Der er 12 kommentarer og
1 løsning

Udregning gennem radiobuttons

Hejsa,

jeg har en ASP-variabel (eks. 199) hvor jeg skal bruge Javascript-hjælp til at beregne/plusse fragten, tror jeg.

Brugeren kan vælge at trykke på 2 radiobuttons (Efterkrav og Dankort). Hver radiobutton har sin egen tal-værdi og alt efter hvilken knap man trykker på (Efterkrav er standard valgt), skal den så dynamisk vise hvad den samlede pris er. Dvs:

Prisvariabel (ASP)  = 199
Efterkrav = 50 (<input> feltets value)
Dankort = 35 (<input> feltets value)

Ved klik på Dankort skal den automatisk skrive Samlet pris: 234.
Ved klik på Efterkrav (standard valgt) skal den udskrive Samlet pris: 249.

How to do this? :)
Avatar billede barklund Nybegynder
22. marts 2005 - 11:46 #1
Det er vel bare en onchange-event på dine radiobuttons:

<input type="radio" name="betaling" value="efterkrav" onchange="this.form.slutfelt.value=199+50;" /> Efterkrav

<input type="radio" name="betaling" value="dankort" onchange="this.form.slutfelt.value=199+35;" /> Dankort

Så kan du bare få ASP'en til at indsætte de 199 i begge linjer.

--
Morten Barklund
Avatar billede roenving Novice
22. marts 2005 - 11:48 #2
Du har vel prisen i et-eller-andet felt i formen ?-)

Så laver du bare en onclick på radio-knapperne, som sammenlægger værdierne og fylder dem i et-eller-andet ...
Avatar billede barklund Nybegynder
22. marts 2005 - 11:50 #3
Ja, eller onclick i stedet for onchange - jeg kan alligevel aldrig huske hvilke input felter, der har hvilke events :)
Avatar billede rane Nybegynder
22. marts 2005 - 13:31 #4
Jeg prøver lidt senere - kom lige en hasteopgave nu :)
Avatar billede rane Nybegynder
01. april 2005 - 14:00 #5
Det virker fint nok, det som barklund foreslog. Dog så er der et mindre problem med op/nedrunding af tal.  Nu er fragten eksempelvis 63,25 ved efterkrav og 43,50 ved Dankort...når jeg har et beløb (225,25) i en ASP variabel og sætter den til onchange...så nedrunder den til 225...???
Avatar billede roenving Novice
01. april 2005 - 14:03 #6
Bruger du danske decimal-kommaer på din side ?-)

For javascript bruger de engelske/internationale decimal-punktummer !-)
Avatar billede rane Nybegynder
01. april 2005 - 14:16 #7
Øhh det har jeg ikke lige tænkt over. Prøver lige at uploade koden til sitet for at tjekke...kan godt være serveren bruger engelsk system og jeg bruger selv dk.
Avatar billede roenving Novice
01. april 2005 - 14:27 #8
Alle computer-programmer bruger de internationale måder til at opbevare data og beregne på dem, men fremvisningen kan være locale-afhængig ...

-- så også det scripting, som foregår i dit asp-script bruger punktummet internt, men kan sikkert fremvise det anderledes !-)
Avatar billede rane Nybegynder
04. april 2005 - 10:18 #9
Har ikke været istand til at tjekke siden endnu. Har fået et ASP-problem der medfører at jeg ikke kan få vist den pågældende side. Laver et indlæg i ASP-gruppen om 2 minutter :/
Avatar billede rane Nybegynder
04. april 2005 - 12:51 #10
Hm...ok den lader til at runde ned på serveren også. Dvs også på serveren skriver den ASP-variablen ud som eks. 360,25.  Hvodden får jeg det ændret?
Avatar billede roenving Novice
05. april 2005 - 00:43 #11
Hvis du har dine værdier i felter, kan du hente dem og ændre , til . så vi kan regne med javascript og så vise dem med , i stedet for ...

-- f.eks.

function beregnTotal(fld){
  var oldVal = fld.form.ialt.value.replace(/,/, ".");
  var newVal = oldVal + +fld.value;//evt. også med ovenstående replace !-)
  fld.form.ialt.value = (""+newVal).replace(/\./,",");
}

-- en ganske rudimentær udgave, for selvfølgelig kan man ikke sætte værdien tilbage i feltet, for så ville prisen jo blive astronomisk, hvis man var lidt usikker på betalingsformen og klikkede lidt frem og tilbage !o]
Avatar billede rane Nybegynder
25. april 2005 - 11:12 #12
Fik det fikset vha din funktion, roenving - hvis du smider et svar? :)
Avatar billede roenving Novice
25. april 2005 - 11:34 #13
Velbekomme '-)
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