Wie helpt mij met de laatste puntjes van mijn berekening

Status
Niet open voor verdere reacties.

Tetteroo

Gebruiker
Lid geworden
5 jul 2010
Berichten
5
Ik wil een berekening maken om de kosten voor een zending te bepalen.
Iemand geeft het aantal Km in en vinkt een optie van het gewicht aan en dan dienst deze wanneer men op bereken klikt een indicatie prijs te zien krijgen.

Heb tot nu toe onderstaande
Alles wordt goed weer gegeven maar de berekening komt niet op het beeld.
Wat doe ik niet goed.

Alvast bedankt voor jullie hulp

<html>
<head>
<title>Prijsbepaling Zending</title>
<script language="javascript">
function bereken() {
var aantal = document.forms[0].zending.value;
var total = aantal * total
if (document.forms[0].opt1.checked) {
total += aantal * 0.35
}
if (document.forms[0].opt2.checked) {
total += aantal * 0.45
}
if (document.forms[0].opt3.checked) {
total += aantal * 0.55
}

totalP = "€"
document.forms[0].total.value = totalP;
}
</script>
</head>
<body>
<form action="" method="post">
Aantal Kilometers:&nbsp;<input type="text" name="zending" value="0" size="3"><br>
<br>
Selecteer uw zendingsgewicht<br>
<input type="checkbox" name="opt1">0 - 500 KG<br>
<input type="checkbox" name="opt2">501 - 1000 KG<br>
<input type="checkbox" name="opt3">1000 - 1400 KG<br>
<br>
<input type="submit" value="Geef zendingsprijs" onclick="bereken()"><br><br>
Prijs excl. BTW:&nbsp;<input type="text" name="total" size="5">
</form>
</body>
</html>
 
HTML:
<input type="submit" value="Geef zendingsprijs" onclick="bereken()"><br><br>
Als op deze knop geklikt wordt, wordt eerst bereken() uitgevoerd, vervolgens ga je naar de pagina gedefinieerd in het "action" attribuut van "form" (in dit geval is dat de huidige pagina, omdat action "" is). Je kan beter een "gewone" button gebruiken:
HTML:
<input type="button" value="Geef zendingsprijs" onclick="bereken()"><br><br>

[js]var total = aantal * total;[/js]
Wat probeer je hier te doen? Je maakt hier namelijk de variabele "total" aan en je geeft dat de waarde aantal * total (ingevulde aantal * ongedefinieerd). Ik weet niet wat je hier probeert te bereiken, dus ik kan je niet vertellen hoe je dit moet verbeteren.

[js]totalP = "€"
document.forms[0].total.value = totalP;[/js]
"totalP" bestaat uit enkel het euro-teken. Als je hier ook het bedrag (total) bij wilt hebben, moet je hiervan maken:
[js]totalP = "€"+total;[/js]
 
Laatst bewerkt:
Wat probeer je hier te doen? Je maakt hier namelijk de variabele "total" aan en je geeft dat de waarde aantal * total (ingevulde aantal * ongedefinieerd). Ik weet niet wat je hier probeert te bereiken, dus ik kan je niet vertellen hoe je dit moet verbeteren.


Javascript Code:
1
2
totalP = "€"
document.forms[0].total.value = totalP;

Door het invullen van de aantal km * geselecteerd gewicht (deze is gekoppeld aan x bedrag, krijg je bv 100 km * 0.39) en is de uitkomst na clikken op geef zendingsprijs € 39,00.
Weet dat het zo moet worden maar hoe nu even verder, mogelijk dat een geheel andere code moet zijn, maar je hulp is echt welkom.
Thankxs
 
Ik denk dat dit doet wat je wilt (dit bevat de verbeteringen van mijn vorige post en zet "total" initieel op 0):
[js]function bereken() {
var aantal = document.forms[0].zending.value;
var total = 0;
if (document.forms[0].opt1.checked) {
total += aantal * 0.35;
}
if (document.forms[0].opt2.checked) {
total += aantal * 0.45;
}
if (document.forms[0].opt3.checked) {
total += aantal * 0.55;
}

totalP = "€"+total;
document.forms[0].total.value = totalP;
}[/js]
 
Het enige is wat nu nog is open blijven staan is de afronding.
Dient deze onder of er nu tussen.

totalP = "€"+total;
document.forms[0].total.value = totalP;

totalP= totalP.tofixed(2);
 
"totalP" kan je niet afronden doordat het euro-teken er ook in staat. Wel kan je total afronden:
[js]total.toFixed(2);
totalP = "€"+total;
document.forms[0].total.value = totalP;[/js]
 
Ik blijf maar een fout melding krijgen als ik deze code ingeef, deze heb ik rood gemaakt.
Nu weet ik het echt niet meer


<html>
<head>
<title>Prijsbepaling Zending</title>
<script language="javascript">
function bereken() {
var aantal = document.forms[0].zending.value;
var total = 0;
if (document.forms[0].opt1.checked) {
total += aantal * 0.35;
}
if (document.forms[0].opt2.checked) {
total += aantal * 0.45;
}
if (document.forms[0].opt3.checked) {
total += aantal * 0.55;
}
total.toFixed(2);
totalP = "€"+total;
document.forms[0].total.value = totalP;
}
</script>
</head>
<body>
<form action="" method="post">
Aantal Kilometers:&nbsp;<input type="text" name="zending" value="0" size="3"><br>
<br>
Selecteer uw zendingsgewicht<br>
<input type="checkbox" name="opt1">0 - 500 KG<br>
<input type="checkbox" name="opt2">501 - 1000 KG<br>
<input type="checkbox" name="opt3">1000 - 1400 KG<br>
<br>
<input type="button" value="Geef zendingsprijs" onclick="bereken()"><br><br>
Prijs excl. BTW:&nbsp;<input type="text" name="total" size="5">
</form>
</body>
</html>
 
Ik krijg hem maar niet goed binnen mijn website.
Telkens als ik dit script probeer te plakken dan werkt de berekening niet.

Okk wanneer ik het script in kladblok open moet eerst de activeX besturing uitvoeren, voordat deze werkt.

Ik werk met Joomla en daar heb ik het script geplakt in een makkelijke tool mod.anything, alwaar ik elk script kan plakken en dan de module kan plaatsen waar ik wil.

iemand die weet wat ik fout doe.

Thankxs
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan