webForumDet fria alternativet

Typblandningsfel

JavaScript

6 svar · 424 visningar · startad av Brimba

Medlem sedan dec. 19995 874 inlägg
Frågan#1

Hej!

Varför får jag typblandningsfel av följande kod:

<script>
function add(number)
{
tal1 = document.test.tal1.options[number].value
tal2 = document.test.tal2.options[number].value
svar = tal1 + tal2
document.test.svar.value = svar
}
</script>

<form name="test">

<select name='tal1' onChange='add(this.selectedIndex)'>
<option value=1>1
<option value=2>2
</select>

<select name='tal2' onChange='add(this.selectedIndex)'>
<option value=4>4
<option value=2>2
</select>

svar: <input type="text" name="svar">
</form>

Mvh
Patrik
aka Brimba

Medlem sedan dec. 19995 874 inlägg
#2

Hej!

Ville bara säga att jag har löst det så här:

<script>
tal1 = null
tal2 = null
</script>

<form name="test">
<select onChange="tal1 = this[this.selectedIndex].value *1,updatera()">
<option value=1>1
<option value=2>2
<option value=3>3
</select>

<select onChange="tal2 = this[this.selectedIndex].value *1,updatera()">
<option value=4>4
<option value=8>8
<option value=2>2
</select>

svar: <input type="text" name="svar">
</form>

<script language="JavaScript">
function updatera()
{
svar = tal1 + tal2
document.test.svar.value = svar
}
</script>

Mvh
Patrik
aka Brimba

Medlem sedan dec. 199962 inlägg
#3

Jaså.. det var bara en ren Kalkylerings funktion du skulle ha.
Trodde du ville visa produktnamn och sånt också.

Daze

Medlem sedan dec. 19995 874 inlägg
#4

Hej!

Det gör jag ju också, men det har ju ingen betydelse för just "räkne" grejjen :)

Mvh
Patrik
aka Brimba

Medlem sedan dec. 199920 inlägg
#5

Ett annat sätt att lösa det skulle kunna vara:

<script>
function addaihop(number1, number2)
{
tal1 = parseInt(document.test.tal1.options[number1].value);
tal2 = parseInt(document.test.tal2.options[number2].value);
svar = tal1 + tal2;
document.test.svar.value = svar;
}
</script>
<body>

<form name="test">
<select name='tal1' onChange='addaihop(this.selectedIndex,tal2.selectedIndex)'>
<option value="5">5
<option value="10">10
</select>
<select name='tal2' onChange='addaihop(this.selectedIndex,tal1.selectedIndex)'>
<option value="20">20
<option value="40">40
</select>
svar:
<input type="text" name="svar">
</form>

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

//Ricke

Medlem sedan dec. 19995 874 inlägg
#6

Hej Rickard!

Vad skulle det vara för fördel att lösa det på ditt sätt? Vad jag kan se blir det bara mer kod. Är det snabbare? Ser endå ganska likt ut, på det sättet jag har det nu.

Mvh
Patrik
aka Brimba

Medlem sedan dec. 199920 inlägg
#7

Nja, mer kod tycker jag inte att det blir, hur som hellst var det bara ett alternativ till lösningen du själv hade gjort, jag utgick från ditt första program istället för att skriva en ny rutin...
Det hela var bara tänkt som en liten parantes! :-)

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

//Ricke

265 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)