html-probleempje

Status
Niet open voor verdere reacties.

tribart

Nieuwe gebruiker
Lid geworden
15 aug 2007
Berichten
4
ik zit wat te klooien om een eenvoudige webshop te maken zonder database. op een bestelformulier moet een gebruiker zelf een locatie kunnen aanduiden. Alles werkt in principe, alleen, welke keuze je ook invoert: er wordt steeds "Europa" geselecteerd.

Waar loopt het fout?

<html>
<head>
<title>T-lights.be webshop</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script type="text/javascript" language="javascript">
function TelOp() {

//totaal aantal bestelde artikelen berekenen
var waarde;
waarde = document.all.prijs.value * document.all.aantal.value
document.all.uitkomst.value = waarde;
}
</script>

<script type="text/javascript" language="javascript">
function Verzenden() {

//totaal aantal bestelde artikelen overnemen
var waarde;
waarde = document.all.prijs.value * document.all.aantal.value


//verzendkost vastleggen
var verzend;
verzend = 0

if (document.all.locatie.value="Europa"){
verzend = 10
}
else if (document.all.locatie.value="Non-EU"){
verzend = 20
}
else {
verzend = 5
}

document.all.shipping.value = verzend;

//berekenen van de totale prijs
var totaalverzendkost;
totaalverzendkost = waarde + verzend
document.all.verzendkost.value = totaalverzendkost;

}
</script>

</head>
<body>
<form>
eenheidsprijs: € <input type="text" name="prijs" value="7.5" size="5">
aantal: <input type="text" size="6" name="aantal" onChange="javascript:TelOp()" value="0"><br/>
<br/>totaal: € <textarea name="uitkomst" rows="1" cols="5"></textarea>

<br/>
<br/><br/>Shipping en Handling<br/><br/>
Kies hier uw locatie:
<select name="locatie" onChange="javascript:Verzenden()">
<option value="start">- kies uw locatie -
<option value="België">België
<option value="Europa">Europa
<option value="Wereld">Non-EU
</select>
<br/>
<br/>verzendkost € <input type="text" name="shipping" size="5">

</select><br/><br/><br/>totaal: <textarea name="verzendkost" rows="1" cols="30"></textarea>
<br/><br/>
<input type="reset" value="invoer wissen">
</form>
</body>
</html>
 
Geef bij <form> even een naam aan, bijvoorbeeld
HTML:
<form name="formulier">

En wijzig dan document.all.locatie.value in document.formulier.locatie.value
 
Geef bij <form> even een naam aan, bijvoorbeeld
HTML:
<form name="formulier">

En wijzig dan document.all.locatie.value in document.formulier.locatie.value

Ik heb dat geprobeerd, maar het probleem blijft hetzelfde
 
De ELSE IF werkt trouwens ook niet zoals jij denk ik bedoelt…

Jij hebt dit
HTML:
else if (document.all.locatie.value="Non-EU"){
verzend = 20
}

Maar in je formulier staat
HTML:
<option value="Wereld">Non-EU
Dan moet je of de value hiervan wijzigen in Non-EU of je moet de ELSE IF veranderen...
 
probleem blijft

Ik heb er nog wat op doorgewerkt. Het probleem blijft echter hetzelfde. Wat ik ook selecteer, uiteindelijk komt steeds dezelfde keuze terug. En da's niet de bedoeling:

<html>
<head>
<title>T-lights.be webshop</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script type="text/javascript" language="javascript">
function TelOp() {

//totaal aantal bestelde artikelen berekenen
var waarde;
waarde = document.webshop.prijs.value * document.webshop.aantal.value
document.webshop.uitkomst.value = waarde;
}
</script>

<script type="text/javascript" language="javascript">
function Verzenden() {

//totaal aantal bestelde artikelen overnemen
var waarde;
waarde = document.webshop.prijs.value * document.webshop.aantal.value


//verzendkost vastleggen
var verzend;
verzend = 0

if (document.webshop.locatie.value="1"){
verzend = 5
}
else if (document.webshop.locatie.value="2"){
verzend = 10
}
else if (document.webshop.locatie.value="3"){
verzend = 20
}
else {
verzend = 0
}

document.webshop.shipping.value = verzend;

//berekenen van de totale prijs
var totaalverzendkost;
totaalverzendkost = waarde + verzend
document.webshop.verzendkost.value = totaalverzendkost;

}
</script>

</head>
<body>
<form name="webshop">
eenheidsprijs: € <input type="text" name="prijs" value="7.5" size="5">
aantal: <input type="text" size="6" name="aantal" onChange="javascript:TelOp()" value="0"><br/>
<br/>totaal: € <textarea name="uitkomst" rows="1" cols="5"></textarea>

<br/>
<br/><br/>Shipping en Handling<br/><br/>
Kies hier uw locatie:
<select name="locatie" onChange="javascript:Verzenden()">
<option value="0">- kies uw locatie -
<option value="1">België
<option value="2">Europa
<option value="3">Non-EU
</select>
<br/>
<br/>verzendkost € <input type="text" name="shipping" size="5">

</select><br/><br/><br/>totaal: <textarea name="verzendkost" rows="1" cols="30"></textarea>
<br/><br/>
<input type="reset" value="invoer wissen">
</form>
</body>
</html>
 
Het blijkt dat jij bij je IF, ELSE IF en ELSE statements steeds maar 1 '=' hebt gebruikt.

Maar een = is een toewijzing, == is een vergelijking...
HTML:
<html> 
<head> 
<title>T-lights.be webshop</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 

<script type="text/javascript" language="javascript"> 
function TelOp() { 

//totaal aantal bestelde artikelen berekenen
var waarde;
waarde = document.webshop.prijs.value * document.webshop.aantal.value
document.webshop.uitkomst.value = waarde; 
}

function Verzenden() { 

//totaal aantal bestelde artikelen overnemen
var waarde;
waarde = document.webshop.prijs.value * document.webshop.aantal.value


//verzendkost vastleggen
var verzend;
verzend = 0

if (document.webshop.locatie.value=="1"){
verzend = 5
}
else if (document.webshop.locatie.value=="2"){
verzend = 10
}
else if (document.webshop.locatie.value=="3"){
verzend = 20
}
else {
verzend = 0
}

document.webshop.shipping.value = verzend; 

//berekenen van de totale prijs
var totaalverzendkost;
totaalverzendkost = waarde + verzend
document.webshop.verzendkost.value = totaalverzendkost;

}
</script> 

</head> 
<body> 
<form name="webshop"> 
eenheidsprijs: € <input type="text" name="prijs" value="7.5" size="5"> 
aantal: <input type="text" size="6" name="aantal" onChange="javascript:TelOp()" value="0"><br/> 
<br/>totaal: € <textarea name="uitkomst" rows="1" cols="5"></textarea> 

<br/>
<br/><br/>Shipping en Handling<br/><br/>
Kies hier uw locatie:
<select name="locatie" onChange="javascript:Verzenden()">
<option value="0">- kies uw locatie -
<option value="1">België
<option value="2">Europa
<option value="3">Non-EU
</select>
<br/>
<br/>verzendkost € <input type="text" name="shipping" size="5">

</select><br/><br/><br/>totaal: <textarea name="verzendkost" rows="1" cols="30"></textarea> 
<br/><br/>
<input type="reset" value="invoer wissen">
</form> 
</body> 
</html>
Have Fun :)
 
Zou je de status op opgelost willen zetten? Alvast bedankt :thumb:
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan