Prijsberekening Tool / Script

Status
Niet open voor verdere reacties.
En aan welke voorwaarden moet die pagina voldoen?
Wat moet er allemaal mogelijk zijn?

Greetz : Jer:cool:en.
 
Ik wil hem zo simpel mogelijk houden.

Het is voor de site http://www.low-budget.nl

Voorbeeld:

Show 1 kost 250 euro
Extra licht 25,00 euro
Rookmachine 25,00 euro

Totaal 300 euro
BTW 19% 57,00 euro
Eindtotaal 357,00 euro

Zo zijn er totaal drie show, verdeeld in 2 categorieen en 5 extra zaken.

Dan inderdaad subtotaal en dan de 19% btw erbij uitkomend op eindtotaal.

Wie kan mij hiermee helpen om dit te realiseren
 
Het zijn 2 verschillende prijzen per show, dus drie verschillende show = 8 verschillende prijzen. Je bent een held als je zou kunnen helpen,
 
Hier heb ik iets in mekaar gestoken.
Kan je mij alle gegevens geven? Dan komt het mooi op maat.

Greetz : Jer:cool:en.
 
Ik heb je een email gestuurd met de info, dat is wat makkelijker dan hier te posten.
 
Hier het resultaat van wat ik voor je gemaakt heb.
En hieronder de code :

PHP:
<html>
<head>
<title>Prijsberekening</title>
<script language="javascript" type="text/javascript">
<!--
var showprijsarr = new Array("275||425","475||575","650||750");
function kiesshow() {
d = document.getElementById;
show = d("showsel").value;
pers = d("personensel").value;
if ((show == 0) && (pers != 0)) {
alert("Kies eerst een show.");
d("showinp").value = 0.00.toFixed(2);
d("personensel").selectedIndex = 0;
} else if (pers != 0) {
d("showinp").value = showprijsarr[show-1].split("||")[pers-1];
};
totaal();
};
function kiesextras() {
d = document.getElementById;
extra = 0;
for (var i = 1; i <= 3; i++) {
extra += (d("extra" + i).checked) ? 25 : 0;
};
d("extrainp").value = extra.toFixed(2);
totaal();
};
function totaal() {
d = document.getElementById;
subtotaal = parseInt(d("showinp").value) + parseInt(d("extrainp").value);
d("subtotaalinp").value = subtotaal.toFixed(2);
d("btwinp").value = (subtotaal * 0.19).toFixed(2);
d("totaalinp").value = (subtotaal * 1.19).toFixed(2);
};
-->
</script>
</head>
<body>
<table width="100%" height="100%">
<tr valign="middle"><td align="center">
<table height="50%" cellspacing="15" cellpadding="15">
<tr><td>
<select id="showsel" onChange="kiesshow();" tabindex="1">
<option value="0" selected>Kies een show</option>
<option value="1">Basis Drive-In Show</option>
<option value="2">Uitgebreide Drive-In Show</option>
<option value="3">Super Drive-In Show met zanger</option>
</select>
</td><td rowspan="3">
<p>Show : <input type="text" id="showinp" value="0.00" size="5" style="border:0;text-align:right" readonly> €</p>
<p>Extra's : <input type="text" id="extrainp" value="0.00" size="5" style="border:0;text-align:right" readonly> €</p>
<hr>
<p><b>Subtotaal : <input type="text" id="subtotaalinp" value="0.00" size="5" style="border:0;font-weight:bold;text-align:right" readonly> €</b></p>
<p>B.T.W. 19% : <input type="text" id="btwinp" value="0.00" size="5" style="border:0;text-align:right" readonly> €</p>
<hr>
<p><b>Totaal : <input type="text" id="totaalinp" value="0.00" size="5" style="border:0;font-weight:bold;text-align:right" readonly> €</b></p>
</td></tr>
<tr><td>
<select id="personensel" onChange="kiesshow();" tabindex="2">
<option value="0" selected>Kies het maximum aantal personen</option>
<option value="1">Maximum 150 personen</option>
<option value="2">Maximum 300 personen</option>
</select>
</td></tr>
<tr><td>
<input type="checkbox" id="extra1" onClick="kiesextras();" tabindex="3"> Rookmachine inclusief vloeistof<br>
<input type="checkbox" id="extra2" onClick="kiesextras();" tabindex="4"> Extra lichteffecten<br>
<input type="checkbox" id="extra3" onClick="kiesextras();" tabindex="5"> Extra PAR 4
</td></tr>
</table>
</td></tr>
</table>
</body>
</html>

Greetz : Jer:cool:en
 
Jeroen,

Onwijs bedankt voor je hulp, ik had je nog een email gestuurd, kon je dat nog aanpassen.
 
Hier is het formulier. ;)

En hier is de code :

PHP:
<html>
<head>
<title>Prijsberekening</title>
<script language="javascript" type="text/javascript">
<!--
var showprijsarr = new Array("275||375","475||575","650||750");
var lichtprijsarr = new Array(20,30,40);
function kiesshow() {
d = document.getElementById;
show = d("showsel").value;
pers = d("personensel").value;
if ((show == 0) && (pers != 0)) {
alert("Kies eerst een show.");
d("showinp").value = 0.00.toFixed(2);
resetform();
} else if (pers != 0) {
d("showinp").value = parseInt(showprijsarr[show-1].split("||")[pers-1]).toFixed(2);
} else {
d("showinp").value = 0.00.toFixed(2);
};
totaal();
};
function kiesextras() {
d = document.getElementById;
extra = 0;
if (d("showsel").value == 0) {
alert("Kies eerst een show.");
resetform();
} else if (d("personensel").value == 0) {
alert("Kies eerst het maximum aantal personen.");
resetform();
};
for (var i = 1; i <= 2; i++) {
extra += (!d("extra" + i).checked) ? 0 : 25;
};
extra += (d("lichtsel").value == 0) ? 0 : parseInt(lichtprijsarr[d("lichtsel").value - 1]);
d("extrainp").value = extra.toFixed(2);
totaal();
};
function totaal() {
d = document.getElementById;
subtotaal = parseInt(d("showinp").value) + parseInt(d("extrainp").value);
d("subtotaalinp").value = subtotaal.toFixed(2);
d("btwinp").value = (subtotaal * 0.19).toFixed(2);
d("totaalinp").value = (subtotaal * 1.19).toFixed(2);
};
function resetform() {
d = document.getElementById;
d("personensel").selectedIndex = 0;
d("extra1").checked = false;
d("extra2").checked = false;
d("lichtsel").selectedIndex = 0;
};
function checkform() {
d = document.getElementById;
if (d("showsel").selectedIndex == 0) {
alert("Kies eerst een show en het maximum aantal personen.");
resetform();
return;
};
if (d("personensel").selectedIndex == 0) {
alert("Kies eerst het maximum aantal personen.");
return;
};
if (d("extrainp").value == 0) {
extraconf = confirm("Weet u zeker dat u geen extra's bij de show wenst?");
if (extraconf == false) {
return;
};
};
var mail = /^[a-zA-Z0-9_-éèçà.ù$]{1,}@[a-zA-Z]{1,}.[a-zA-Z]{1,4}$/;
if (!mail.exec(document.getElementById("mailinp").value)) {
alert("Gelieve uw e-mailadres correct in te vullen.");
return;
} else {
document.showform.submit();
};
};
-->
</script>
</head>
<body>
<table width="100%" height="100%">
<tr valign="middle"><td align="center">
<script language="javascript" type="text/javascript">
<!--
var mailname = "rayadam";
var maildomain = "planet";
var mailext = "nl";
document.write("<form name='showform' action='mailto:" + mailname + "%40" + maildomain + "." + mailext + "?subject=Aanvraag show' method='post' enctype='text/plain'>");
-->
</script>
<table height="50%" cellspacing="15" cellpadding="15">
<tr><td>
<select name="showsel" onChange="kiesshow();" tabindex="1">
<option value="0" selected>Kies een show</option>
<option value="1">Basis Drive-In Show</option>
<option value="2">Uitgebreide Drive-In Show</option>
<option value="3">Super Drive-In Show met zanger</option>
</select>
</td><td rowspan="3">
<p>Show : <input type="text" name="showinp" value="0.00" size="5" style="border:0;text-align:right" readonly> €</p>
<p>Extra's : <input type="text" name="extrainp" value="0.00" size="5" style="border:0;text-align:right" readonly> €</p>
<hr>
<p><b>Subtotaal : <input type="text" name="subtotaalinp" value="0.00" size="5" style="border:0;font-weight:bold;text-align:right" readonly> €</b></p>
<p>B.T.W. 19% : <input type="text" name="btwinp" value="0.00" size="5" style="border:0;text-align:right" readonly> €</p>
<hr>
<p><b>Totaal : <input type="text" name="totaalinp" value="0.00" size="5" style="border:0;font-weight:bold;text-align:right" readonly> €</b></p>
</td></tr>
<tr><td>
<select name="personensel" onChange="kiesshow();" tabindex="2">
<option value="0" selected>Kies het maximum aantal personen</option>
<option value="1">Maximum 150 personen</option>
<option value="2">Maximum 300 personen</option>
</select>
</td></tr>
<tr><td>
<input type="checkbox" name="extra1" onClick="kiesextras();" tabindex="3"> Rookmachine inclusief vloeistof<br>
<input type="checkbox" name="extra2" onClick="kiesextras();" tabindex="4"> Extra PAR 4<br>
<select name="lichtsel" onChange="kiesextras();" tabindex="5">
<option value="0" selected>Kies je extra lichteffecten</option>
<option value="1">Extra lichteffecten 20 €</option>
<option value="2">Extra lichteffecten 30 €</option>
<option value="3">Extra lichteffecten 40 €</option>
</select>
</td></tr>
<tr><td align="center" colspan="2">
Uw e-mail : <input type="text" name="mailinp" tabindex="6">
</td></tr>
</table>
<input type="button" onMouseDown="checkform();" value="Aanvraag versturen" tabindex="7">&nbsp;&nbsp;<input type="reset" value="Formulier wissen" tabindex="8">
</form>
</td></tr>
</table>
</body>
</html>

Greetz : Jer:cool:en.
 
Harstikke bedankt voor je hulp Jeroen, ik heb je via het GMAIL emailadres iets gestuurd, kun je daar nog even naar kijken
 
Ja hoor, ik had het al ontvangen, maar kon er niet meteen naar kijken.
Mag het in de derde kolom onder alles komen te staan?

Greetz : Jer:cool:en.
 
Niet compatible met andere browsers dan Internet Explorer


Beste Jeroen, het script werkt alleen voor Internet Explorer. Snap dat dit om een oud forum artikel gaat.
Ik zou dit script graag willen gebruiken wanneer geschikt is voor Firefox, Chrome, Opera en Safari.
Hoe komt het dat het alleen in Internet Explorer werkt?

Grt Karel.
 
Laatst bewerkt:
Beste Jeroen, het script werkt alleen voor Internet Explorer. Snap dat dit om een oud forum artikel gaat.
Ik zou dit script graag willen gebruiken wanneer geschikt is voor Firefox, Chrome, Opera en Safari.
Hoe komt het dat het alleen in Internet Explorer werkt?

Grt Karel.

Heel eenvoudig: in elke functie heb ik de variabele "d" die staat voor "document.getElementById"
Dit werkt perfect in IE en nergens anders.
De variabele verwijderen en overal waar die gebruikt is "document.getElementById" voluit gebruiken lost het op:

HTML:
<html>
<head>
<title>Prijsberekening</title>
<script language="javascript" type="text/javascript">
<!--
var showprijsarr = new Array("275||425","475||575","650||750");
function kiesshow() {;
show = document.getElementById("showsel").value;
pers = document.getElementById("personensel").value;
if ((show == 0) && (pers != 0)) {
alert("Kies eerst een show.");
document.getElementById("showinp").value = 0.00.toFixed(2);
document.getElementById("personensel").selectedIndex = 0;
} else if (pers != 0) {
document.getElementById("showinp").value = showprijsarr[show-1].split("||")[pers-1];
};
totaal();
};
function kiesextras() {
extra = 0;
for (var i = 1; i <= 3; i++) {
extra += (document.getElementById("extra" + i).checked) ? 25 : 0;
};
document.getElementById("extrainp").value = extra.toFixed(2);
totaal();
};
function totaal() {
subtotaal = parseInt(document.getElementById("showinp").value) + parseInt(document.getElementById("extrainp").value);
document.getElementById("subtotaalinp").value = subtotaal.toFixed(2);
document.getElementById("btwinp").value = (subtotaal * 0.19).toFixed(2);
document.getElementById("totaalinp").value = (subtotaal * 1.19).toFixed(2);
};
-->
</script>
</head>
<body>
<table width="100%" height="100%">
<tr valign="middle"><td align="center">
<table height="50%" cellspacing="15" cellpadding="15">
<tr><td>
<select id="showsel" onChange="kiesshow();" tabindex="1">
<option value="0" selected>Kies een show</option>
<option value="1">Basis Drive-In Show</option>
<option value="2">Uitgebreide Drive-In Show</option>
<option value="3">Super Drive-In Show met zanger</option>
</select>
</td><td rowspan="3">
<p>Show : <input type="text" id="showinp" value="0.00" size="5" style="border:0;text-align:right" readonly> €</p>
<p>Extra's : <input type="text" id="extrainp" value="0.00" size="5" style="border:0;text-align:right" readonly> €</p>
<hr>
<p><b>Subtotaal : <input type="text" id="subtotaalinp" value="0.00" size="5" style="border:0;font-weight:bold;text-align:right" readonly> €</b></p>
<p>B.T.W. 19% : <input type="text" id="btwinp" value="0.00" size="5" style="border:0;text-align:right" readonly> €</p>
<hr>
<p><b>Totaal : <input type="text" id="totaalinp" value="0.00" size="5" style="border:0;font-weight:bold;text-align:right" readonly> €</b></p>
</td></tr>
<tr><td>
<select id="personensel" onChange="kiesshow();" tabindex="2">
<option value="0" selected>Kies het maximum aantal personen</option>
<option value="1">Maximum 150 personen</option>
<option value="2">Maximum 300 personen</option>
</select>
</td></tr>
<tr><td>
<input type="checkbox" id="extra1" onClick="kiesextras();" tabindex="3"> Rookmachine inclusief vloeistof<br>
<input type="checkbox" id="extra2" onClick="kiesextras();" tabindex="4"> Extra lichteffecten<br>
<input type="checkbox" id="extra3" onClick="kiesextras();" tabindex="5"> Extra PAR 4
</td></tr>
</table>
</td></tr>
</table>
</body>
</html>

Wat je ook kan doen, en nog beter is, is alle formulier onderdelen ipv een "id" te geven, deze een "name" geven, dus gewoon "id" vervangen door "name" en dan ipv "document.getElementById" te gebruiken,"document.all" gebruiken.

HTML:
<html>
<head>
<title>Prijsberekening</title>
<script language="javascript" type="text/javascript">
<!--
var showprijsarr = new Array("275||425","475||575","650||750");
function kiesshow() {;
show = document.all("showsel").value;
pers = document.all("personensel").value;
if ((show == 0) && (pers != 0)) {
alert("Kies eerst een show.");
document.all("showinp").value = 0.00.toFixed(2);
document.all("personensel").selectedIndex = 0;
} else if (pers != 0) {
document.all("showinp").value = showprijsarr[show-1].split("||")[pers-1];
};
totaal();
};
function kiesextras() {
extra = 0;
for (var i = 1; i <= 3; i++) {
extra += (document.all("extra" + i).checked) ? 25 : 0;
};
document.all("extrainp").value = extra.toFixed(2);
totaal();
};
function totaal() {
subtotaal = parseInt(document.all("showinp").value) + parseInt(document.all("extrainp").value);
document.all("subtotaalinp").value = subtotaal.toFixed(2);
document.all("btwinp").value = (subtotaal * 0.19).toFixed(2);
document.all("totaalinp").value = (subtotaal * 1.19).toFixed(2);
};
-->
</script>
</head>
<body>
<table width="100%" height="100%">
<tr valign="middle"><td align="center">
<table height="50%" cellspacing="15" cellpadding="15">
<tr><td>
<select name="showsel" onChange="kiesshow();" tabindex="1">
<option value="0" selected>Kies een show</option>
<option value="1">Basis Drive-In Show</option>
<option value="2">Uitgebreide Drive-In Show</option>
<option value="3">Super Drive-In Show met zanger</option>
</select>
</td><td rowspan="3">
<p>Show : <input type="text" name="showinp" value="0.00" size="5" style="border:0;text-align:right" readonly> €</p>
<p>Extra's : <input type="text" name="extrainp" value="0.00" size="5" style="border:0;text-align:right" readonly> €</p>
<hr>
<p><b>Subtotaal : <input type="text" name="subtotaalinp" value="0.00" size="5" style="border:0;font-weight:bold;text-align:right" readonly> €</b></p>
<p>B.T.W. 19% : <input type="text" name="btwinp" value="0.00" size="5" style="border:0;text-align:right" readonly> €</p>
<hr>
<p><b>Totaal : <input type="text" name="totaalinp" value="0.00" size="5" style="border:0;font-weight:bold;text-align:right" readonly> €</b></p>
</td></tr>
<tr><td>
<select name="personensel" onChange="kiesshow();" tabindex="2">
<option value="0" selected>Kies het maximum aantal personen</option>
<option value="1">Maximum 150 personen</option>
<option value="2">Maximum 300 personen</option>
</select>
</td></tr>
<tr><td>
<input type="checkbox" name="extra1" onClick="kiesextras();" tabindex="3"> Rookmachine inclusief vloeistof<br>
<input type="checkbox" name="extra2" onClick="kiesextras();" tabindex="4"> Extra lichteffecten<br>
<input type="checkbox" name="extra3" onClick="kiesextras();" tabindex="5"> Extra PAR 4
</td></tr>
</table>
</td></tr>
</table>
</body>
</html>

Groetjes,

Jer:cool:en
 
Ik heb het even uitgeprobeerd en het blijkt inderdaad te werken in Firefox. Al zie ik in de foutconsole wel deze melding:
Warning: Non-standard document.all property was used. Use W3C standard document.getElementById() instead.
 
Hoi Jeroen

Jeroen ik heb een bestelformulier gemaakt, eigenlijk ooit van een eerdere link van jou, en het werkt.
Ik weet zeker dat het een rotzooitje is en er veel uit weg kan maar ik ben nu eenmaal geen script schrijver.
De button "herstel" werkt maar er moet daarna wel F5 worden toegepast anders blijft het bij totaal steeds maar optellen.
Mag ik de calculation.js hier plaatsen, samen met de form zodat je het voor mij na kan kijken. Zou er heeeeeeeeel blij mee zijn.
Thanks alvast voor de moeite
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan