Avatar billede kotelet Nybegynder
07. maj 2002 - 00:17 Der er 8 kommentarer og
1 løsning

Beregn pris i formular?

Hvorfor virker denne kode ikke?

<html>
<head>
<SCRIPT>

function beregn(ourForm,antal,pris){
var ialt = eval(pris * antal);
return document.ourForm.ialt.value = ialt;
}

</SCRIPT>
</head>
<body>

<form name="formular">
<input type="text" name="antal" value="1" onkeyup="beregn("formular", this, document.formular.pris.value)">
<input type="hidden" name="pris" value="75">
<input type="text" name="ialt" value="75">
</form>
</body>
</html>

Jeg er ved at gå amok over den nu!!!!
Avatar billede jakoba Nybegynder
07. maj 2002 - 00:23 #1
var ialt = eval(pris * antal);
bør være
    var ialt = pris * antal;

eval( ) er kun til at udføre javascript kode der står i en streng.

    return document.ourForm.ialt.value = ialt;
bør være:
    document.forms[ourForm].ialt.value = ialt;

der er ikke grug for return, og ourForm er en parameterværdi du ikke lige kan sætte ind i en adressestreng.

mvh JakobA
Avatar billede jakoba Nybegynder
07. maj 2002 - 00:27 #2
Og en til:

<input type="text" name="antal" value="1" onkeyup="beregn("formular", this, document.formular.pris.value)">

bør være:

<input type="text" name="antal" value="1" onkeyup="beregn("formular", this.value, document.formular.pris.value)">

this er hele det formfelt objekt (med navn og type osv) strengen står i, det er kun værdien vil vil have
Avatar billede kotelet Nybegynder
07. maj 2002 - 00:29 #3
Hmm... hvorfor duer det stadig ikke?

<html>
<head>
<SCRIPT>

function beregn(ourForm,antal,pris){
var ialt = pris * antal;
document.forms[ourForm].ialt.value = ialt;
}

</SCRIPT>
</head>
<body>

<form name="formular" id="formular">
<input type="hidden" name="pris" value="75">
Antal:
<input type="text" name="antal" value="0" onkeyup="beregn("formular", this, document.formular.pris.value)">
Ialt:
<input type="text" name="ialt" value="0">
</form>


</body>
</html>
Avatar billede kotelet Nybegynder
07. maj 2002 - 00:30 #4
selv med this.value fungerer det ikke...
Avatar billede el_gnu Nybegynder
07. maj 2002 - 00:35 #5
du skal i hvert fald ændre onkeyup="beregn("formular" til onkeyup="beregn('formular',
Avatar billede kotelet Nybegynder
07. maj 2002 - 00:37 #6
DOH! lægger du lige et svar el_gnu ? Skal også snart i seng ... :o(
Avatar billede el_gnu Nybegynder
07. maj 2002 - 00:37 #7
jeg kan ikke i IE 6 få det til at virke med onkeyup men følgende virker med (m. onchange)

<html>
<head>
<SCRIPT>

function beregn(ourForm,antal,pris){
var ialt = pris * antal;
document.forms[ourForm].ialt.value = ialt;
}

</SCRIPT>
</head>
<body>

<form name="formular" id="formular">
<input type="hidden" name="pris" value="75">
Antal:
<input type="text" name="antal" value="0" onchange="beregn('formular', this.value, this.form.pris.value)">
Ialt:
<input type="text" name="ialt" value="0">
</form>


</body>
</html>
Avatar billede kotelet Nybegynder
07. maj 2002 - 00:42 #8
Er det ikke i orden, hvis jeg bruger både onkeyup og onchange? Jeg har sat den til det nu, og det giver ingen problemer! Lægger du et svar?
Avatar billede el_gnu Nybegynder
07. maj 2002 - 00:44 #9
det tror jeg ikke er noget problem.
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