Avatar billede nettrain Nybegynder
18. maj 2006 - 14:30 Der er 4 kommentarer og
1 løsning

Form felter der ganger og pluser værdier sammen

Først vil jeg lige sige at jeg ikke har ret meget forstand på javascript, så skal nok ha det skpret ud i pap.

Jeg skal lave et bestillings system hvor jeg har 10 form felter hvor man skal angive antal af de enkelte ting man ønsker at bestille. Hver ting har en unik pris. Prisen skal ikke kunne ses i disse felter, der skriver man blot det antal man vil bestille.

Det vil sige at hvis man skriver 2 i et form felt og tingen koster 50 kroner så skal det ganges sammen så det giver 100.
Hvis man så i et andet felt bestiller 4 af 100 kroner skal det ganges sammen så det giver 400. De 100 og de 400 skal så lægges sammen i et felt nederst på siden så der står 500.

Giver det mening?
Avatar billede mm12010 Nybegynder
18. maj 2006 - 14:54 #1
hvis jeg har forstået det rigtigt kunne et hurtigt udkast kunne se således ud:

<script type="text/javascript">
arrPris=new Array();
arrPris["kaffemaskine"]=50;
arrPris["hest"]=100;
arrPris["lommelygte"]=150;
function calcPrice(frm){
    for(i=val=0;i<frm.elements.length;i++) if(frm.elements[i].type=="text"&&frm.elements[i].name.substr(0,5)=="vare_"&&!isNaN(frm.elements[i].value)) val+=arrPris[frm.elements[i].name.substring(5)]*frm.elements[i].value;
    frm.elements["ialt"].value=val;
}
</script>
...
<form action="?" method="get" name="bestil">
  <input type="text" name="vare_kaffemaskine" value="0" onkeyup="calcPrice(this.form);">
  <input type="text" name="vare_hest" value="0" onkeyup="calcPrice(this.form);">
  <input type="text" name="vare_lommelygte" value="0" onkeyup="calcPrice(this.form);">
  <input type="text" name="ialt" value="0" readonly="readonly">
</form>
Avatar billede nettrain Nybegynder
18. maj 2006 - 15:37 #2
Ja lige præcis... kanon... og når jeg skal tilføje flere laver jeg bare nye "arrPris" ik?
Avatar billede mm12010 Nybegynder
18. maj 2006 - 15:55 #3
ja, for hver ny vare tilføjer du bare:

arrPris["VARENAVN"]=PRIS;
...
<input type="text" name="vare_VARENAVN" value="0" onkeyup="calcPrice(this.form);">
Avatar billede nettrain Nybegynder
18. maj 2006 - 15:59 #4
Det virker lige præcis som det skal. Mange tak!
Avatar billede mm12010 Nybegynder
19. maj 2006 - 08:44 #5
selv tak :o)
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

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