Avatar billede Mik2000 Professor
21. maj 2006 - 20:30 Der er 9 kommentarer og
1 løsning

Plusse - 22+22 giver 2222 i stedet for 44 - hjælp

Jeg har en funktion som får priser fra 2 felter og så skal skrive samlet pris i et andet felt.

Har en funktion:
<script type="text/javascript" language="javascript">
function beregn() {
    var enkelt = document.form1.enkelt.value;
    var dobbelt = document.form1.dobbelt.value;
    var prisen;
   
// fjerner jeg number i understående kan den plusse men den skriver tallene ved siden af hinanden. 24+24 er f.eks. 2424
// Bruger jeg number kommer den med en fejl.
    prisen = number(enkelt) + number(dobbelt);
   
    document.form1.Prisfelt.value = prisen;
}
</script>


Felt 1 pris:
<input name="enkelt" type="text" id="enkelt" onBlur="beregn();" size="4">

Felt 2 pris:
<input name="dobbelt" type="text" id="enkelt" onBlur="beregn();" size="4">

Felt med resultat:
<input type="text" name="Prisfelt">


---------------------

Håber du kan hjælpe med hvad jeg gør galt?
Avatar billede olebole Juniormester
21. maj 2006 - 20:36 #1
<ole>

    var enkelt = parseFloat(document.form1.enkelt.value);
    var dobbelt = parseFloat(document.form1.dobbelt.value);

/mvh
</bole>
Avatar billede olebole Juniormester
21. maj 2006 - 20:37 #2
- eller 'parseInt' ... alt efter, om der er tale om et decimal- eller heltal  :)
Avatar billede tafkab Nybegynder
21. maj 2006 - 20:38 #3
Prøv med

prisen = Number(enkelt) + Number(dobbelt);

Altså stort N i Number
Avatar billede Mik2000 Professor
21. maj 2006 - 20:50 #4
Tak for svarene.....
Havde lige dummet mig for jeg regnede ikke pris ud men derimod antal personer.

Kan I hjælpe med hvad der er galt her så:
function beregn() {
    var hentetprisenkelt = <?php echo $prisenkelt2; ?>;
    var hentetprisdobbelt = <?php echo $prisdobbelt2; ?>;
    var enkelt = parseFloat(document.form1.enkelt.value);
    var dobbelt = parseFloat(document.form1.dobbelt.value);
    var prisen;
   
    enkeltpris = enkelt * hentetprisenkelt;
    dobbeltpris = dobbelt * hentetprisdobbelt;
    pris = enkeltpris + dobbeltpris;
   
    document.form1.Prisfelt.value = prisen;
}
Avatar billede Mik2000 Professor
21. maj 2006 - 20:53 #5
Har dette:
<?php $prisenkelt2 =  $tilbud->Fields('prisenkelt'); ?>
<?php $prisdobbelt2 =  $tilbud->Fields('prisdobbelt'); ?>

højere oppe i dokumentet så de 2 variabler skulle være i orden.

Men har nok rod i det med om der skal være Number, parseFloat og det
Avatar billede Mik2000 Professor
21. maj 2006 - 20:55 #6
Tjekkede dem lige med document.write og de er fundet som 100 og 200. Så det er noget med om den tager det som tal osv.
Avatar billede Mik2000 Professor
21. maj 2006 - 20:57 #7
Glem det - brugte forkert variabel.

Mange tak for hjælpen.

Lig et svar og så er der point :)
Avatar billede olebole Juniormester
21. maj 2006 - 22:37 #8
Selvtak  :)
Avatar billede Mik2000 Professor
21. maj 2006 - 23:13 #9
Lukker
Avatar billede olebole Juniormester
21. maj 2006 - 23:14 #10
- tak for points  ;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
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