Waarde gaven aan een veld

Status
Niet open voor verdere reacties.

Hombre

Gebruiker
Lid geworden
25 mei 2006
Berichten
65
Hallo
Ik zoek al gruime tijd naar een oplossing en kan het maar niet vinden.
Bedoeling is een waarde te geven aan een tekstveld in een HTML pagina.
Hierin is een veld met de naam Afdeling1 en verschillen keuzemogelijkheden. Nu wil ik hier een waarde aan geven om dit later te plaatsen in vakje IkBetaal.
Kan iemand me zeggen wat er fout is aan mijn code? Bedankt
[JS]p1 = (Prijsform.Afdeling1.value);

if(p1=="Speelclub"){
prijs1=("100");
} else if(p1 == "Rakwi"){
prijs1=("130");
} else if(p1 == "Tito"){
prijs1=("130");
} else if(p1 == "Keti"){
prijs1=("130");
} else(p1 == "Aspi"){
prijs1=("130");
}

document.Prijsform.IkBetaal.value=(prijs1);
[/JS]
 
Heb jij veel geprogrammeerd in Lisp? Je gebruik (te) veel haakjes. Probeer het eens zo:
[js]var p1 = Prijsform.Afdeling1.value;

if(p1=="Speelclub"){
prijs1=100;
} else if(p1 == "Rakwi"){
prijs1=130;
} else if(p1 == "Tito"){
prijs1=130;
} else if(p1 == "Keti"){
prijs1=130;
} else(p1 == "Aspi"){
prijs1=130;
}

document.Prijsform.IkBetaal.value=prijs1;[/js]
Dit zou moeten werken. Overigens is het netter om de velden ook een 'id' te geven en de waarde op te vragen/te veranderen via [js]document.getElementById('het_id').value[/js]
 
Bedankt Supersnail maar dit werkt niet.
Ik blijf zoeken maar heb het nog niet gevonden hoe.
 
switches zijn netter:[JS]var p1 = Prijsform.Afdeling1.value;
var prijs1;

switch(p1)
{
case 'Speelclub': prijs1 = 100; break;
case 'Rakwi': prijs1 = 130; break;
case 'Tito': prijs1 = 130; break;
}

document.Prijsform.IkBetaal.value=prijs1;[/JS]maarum, wat werkt er precies niet? Wat is volledige html + javascript code?



:thumb:
 
Vegras

Wat heb ik als code?
Stukje van de HTML code
HTML:
<tr height="30">
<td>Afdeling kind</td>
<td><select size="1" name="Afdeling1" id="Afdeling1" onChange="return KampSom()">
<option selected value="0">Kies afdeling</option>
<option value="Speelclub">Speelclub</option>
<option value="Rakwi">Rakwi</option>
<option value="Tito">Tito</option>
<option value="Keti">Keti</option>
<option value="Aspi">Aspi</option>
</select></td>
	
<td>Ik betaal per overschrijving</td>
<td><inputname="IkBetaal"type="text"id="IkBetaal" size="9" style="font-weight: bold;color: #800000;background-color: #FFCC99" READONLY>

En dit heb ik als javascript code nu gemaakt
[JS]
function Kampsom(){

var p1 = Prijsform.Afdeling1.value;
var prijs1;

switch(p1)
{
case 'Speelclub': prijs1 = 100; break;
case 'Rakwi': prijs1 = 130; break;
case 'Tito': prijs1 = 130; break;
case 'Keti': prijs1 = 130; break;
case 'Aspi': prijs1 = 130; break;
}

document.Prijsform.IkBetaal.value=prijs1;
}
[/JS]
En dit werkt ook niet (Vakje IkBetaal blijft leeg). Wat doe ik verkeerd?

Bedankt
 
Laatst bewerkt:
Check de syntax-highlight: je mist wat spaties.
HTML:
<inputname="IkBetaal"type="text"id="IkBetaal"
-->
HTML:
<input name="IkBetaal" type="text" id="IkBetaal"
 
Ook heet je functie "Kampsom()" terwijl je "KampSom()" (met een hoofdletter 's') aanroept. Ik heb jouw code in een simpele html-pagina geplakt en bovenstaande verbeterd en bij mij werkt het zo:
HTML:
<html>
<head>
<script type="text/javascript">
function KampSom(){

var p1 = Prijsform.Afdeling1.value;
var prijs1;

switch(p1)
{
   case 'Speelclub': prijs1 = 100; break;
   case 'Rakwi':     prijs1 = 130; break;
   case 'Tito':      prijs1 = 130; break;
   case 'Keti':      prijs1 = 130; break;
   case 'Aspi':      prijs1 = 130; break;
}

document.Prijsform.IkBetaal.value=prijs1;
}
</script>
</head>
<body>
Afdeling kind
<form name="Prijsform">
<select size="1" name="Afdeling1" id="Afdeling1" onChange="return KampSom()">
<option selected value="0">Kies afdeling</option>
<option value="Speelclub">Speelclub</option>
<option value="Rakwi">Rakwi</option>
<option value="Tito">Tito</option>
<option value="Keti">Keti</option>
<option value="Aspi">Aspi</option>
</select>

Ik betaal per overschrijving
<input name="IkBetaal" type="text" id="IkBetaal" size="9" style="font-weight: bold;color: #800000;background-color: #FFCC99"
 READONLY>
</form>
</body>
</html>
 
Vegras
Bedankt voor je opmerking maar deze fout stond enkel hier op de site. Ik heb met knippen en plakken tekst verschoven en heb dit dus niet gezien.

Supersnail
De echte fout lag dus op een klein plekje veborgen. Ik had niet gezien dat ik "Kampsom()" had geschreven i.p.v. "KampSom()". Dit was de reden waarom het niet lukte.

Beiden bedankt voor de oplossing het werkt perfect. :thumb:

Heb nog een vraag maar zal hier een nieuw topic van maken!
 
Tip: Gebruik Firefox, die heeft een foutconsole waarmee je dergelijke kleine foutjes makkelijk kan vinden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan