Avatar billede zach Nybegynder
28. december 2000 - 21:35 Der er 3 kommentarer og
2 løsninger

OnChange virker ikke

Jeg har et problem med at få Onchange til at virke sammen med følgende kode:

<script LANGUAGE=\"LiveScript\">
<!--
function calc (form)
{
form.test.value = form.test1.value+form.test2.value
}
//-->
</script>

Den bliver så kaldt med eksempelvis følgende:

<input type=\"text\" name=\"test1\" size=\"6\" OnChange=\"calc()\">

Den giver en fejl der hedder test er ikke et objekt. Jeg har set det fungere andre steder, men de har allesammen en slags \"calc\" knap og det er den jeg gerne vil undgå, kan jeg det og i så fald hvordan ?

Avatar billede jumper Nybegynder
28. december 2000 - 21:37 #1
Funktionen vil gerne have et form objekt som argument:

<input type=\"text\" name=\"test1\" size=\"6\" OnChange=\"calc(this.form)\">

/Thor
Avatar billede zach Nybegynder
28. december 2000 - 21:45 #2
Det ser faktisk ud til at virke, men nu lægger den tallene sammen som om det var 2 tekst strenge, altså 2+3 bliver 23 og det er ikke så godt, hvordan undgår man det ?
Avatar billede andyholt2 Nybegynder
28. december 2000 - 21:50 #3
Prøv med

form.test.value = eval(form.test1.value)+ eval(form.test2.value)

Avatar billede jumper Nybegynder
28. december 2000 - 21:52 #4
Det er fordi de to values er strenge. Konverter dem til tal:

form.test.value = parseInt(form.test1.value) + parseInt(form.test2.value);

/Thor
Avatar billede stigc Nybegynder
28. december 2000 - 21:52 #5
form.test.value = parseint(form.test1.value)+parseint(form.test2.value)
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