PDA

View Full Version : Typblandningsfel


Brimba
1999-12-16, 10:53
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

Brimba
1999-12-16, 11:13
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

Daze
1999-12-16, 13:16
Jaså.. det var bara en ren Kalkylerings funktion du skulle ha.
Trodde du ville visa produktnamn och sånt också.

Daze

Brimba
1999-12-16, 14:40
Hej!

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

Mvh
Patrik
aka Brimba

Ricke
1999-12-23, 08:19
Ett annat sätt att lösa det skulle kunna vara:

[quote]

<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>

[/citat]


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

//Ricke

Brimba
1999-12-23, 09:29
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

Ricke
1999-12-23, 11:41
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