...

View Full Version : Price Quote Generator - re-re-visited



Limey10
01-11-2012, 12:21 PM
Hi all. I hope that everyone is fine and doing well.

This is something of an annual visit for me. You guys helped me enormously with the code below. It is a price quote generator that takes a number (entered by the client) and depending on the package selected, produces a price quote.

As I said, it works really well, but it's time for me to expand my business overseas.

At the moment, I display the price as a single currency, but I would like for clients to be able to select (maybe from a drop down list in the answer field) any one of 4 different currencies (i.e., GBP, USD, EURO, MYR). The different exchange rates don't need to be up to the minute accurate. I'm quite happy to go in to the code and update them weekly or as required.

I have attempted to research different ways of doing this, but as my needs are quite unusual and my brain really can't wrap around the ins and outs of java script, i'm here again begging with my cap in hand for help.

To see this code in action as it stands, please go to www.grammarproofing.com



<head>
<!--quote generator -->
<script type="text/javascript">
function update(){
var price = document.getElementById("Package").value;
var words = document.getElementById("words").value;
if (words != "") {
words = parseInt(words);
if (isNaN (words)) {
alert ("Please enter the number of words in figures");
document.getElementById("words").value = "";
return false;
}
}
var wordsOver2000 = words-2000;
if (wordsOver2000 <0) {wordsOver2000 = 0}
words = words - wordsOver2000;
var Tprice = ((price * words) + (price * .95 * wordsOver2000)).toFixed(2) ;document.getElementById("Totprice").value = Tprice;
document.getElementById("Totprice2").innerHTML = "Your Quote Total Is: MYR" + Tprice
}
</script>
<!--end quote generator -->
</head>




<body>
<!--start quote generator -->
<div class="quote" id="quote">
<select name="Package" id = "Package" onchange = "update()">
<option value="0.052">STUDENTS THE 11th HOUR PACKAGE</option>
<option value="0.041">STUDENTS EXPRESS PACKAGE</option>
<option value="0.035" selected="selected">STUDENTS WORK in PROGRESS PACKAGE</option>
</select>
x
<input type="text" id="words" onchange="update()" value="" />
WORDS<br />
= MYR
<input type = "text" id = "Totprice" readonly />
</div>
<!--end quote generator -->
</body>


Thanks in advance for any help offered.

Regards as always, Phil

devnull69
01-11-2012, 12:39 PM
This is a real easy one

1. Define a variable for the exchange rates (indexed 0 to x)
2. Provide a select drop down for the currencies (values 0 to x)
3. add an onchange event listener to the new select and point to the same function as used for your current select
4. Change the calculation to take the exchange rate into consideration



var exchangeRates = [1, 0.889, 1.234];
function update(){
var er = exchangeRates[document.getElementById("Currency").value];// selected exchange rate
var price = document.getElementById("Package").value;
var words = document.getElementById("words").value;
if (words != "") {
words = parseInt(words);
if (isNaN (words)) {
alert ("Please enter the number of words in figures");
document.getElementById("words").value = "";
return false;
}
}
var wordsOver2000 = words-2000;
if (wordsOver2000 <0) {wordsOver2000 = 0}
words = words - wordsOver2000;
var Tprice = (((price * words) + (price * .95 * wordsOver2000))*er).toFixed(2);
document.getElementById("Totprice").value = Tprice;
document.getElementById("Totprice2").innerHTML = "Your Quote Total Is: " + Tprice
}




<body>
<!--start quote generator -->
<div class="quote" id="quote">
<select name="Package" id = "Package" onchange = "update()">
<option value="0.052">STUDENTS THE 11th HOUR PACKAGE</option>
<option value="0.041">STUDENTS EXPRESS PACKAGE</option>
<option value="0.035" selected="selected">STUDENTS WORK in PROGRESS PACKAGE</option>
</select>
<select name="Currency" id = "Currency" onchange = "update()">
<option value="0" selected="selected">USD</option>
<option value="1">EUR</option>
<option value="2">CND</option>
</select>
x
<input type="text" id="words" onchange="update()" value="" />
WORDS<br />
= MYR
<input type = "text" id = "Totprice" readonly />
</div>
<!--end quote generator -->
</body>

Limey10
01-11-2012, 01:19 PM
Spectacular devnull69, it works like a charm.

I love the way you say "This is a real easy one" :thumbsup:

Thanks again, Phil



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum