Java Caculator

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Andries van Duinen

Andries van Duinen

20/04/2011 10:45:41
Quote Anchor link
Hallo mensen, ben met een uitgebreid bestel script voor webhosting bezig. En heb hier bij een een calculator nodig.

Dit is wat ik momenteel heb:

Quote:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head>
<script type="text/javascript" src="webhostingPrices.js"></script>
</head>

<body>

<form>
<table>
<tr>
<td style="width:119px;">Domeinnaam:</td>
<td>www.<input style="width:160px;" type="text" name="domein" id="domein" value="" /></td>
<td><select name="domeinext" id="domeinext" />
<option value="empty">Extensie</option>
<option value="nl">.nl</option>
<option value="be">.be</option>
<option value="de">.de</option>
<option value="fr">.fr</option>
<option value="it">.it</option>
<option value="pl">.pl</option>
<option value="nu">.nu</option>
<option value="bz">.bz</option>
<option value="at">.at</option>
<option value="fm">.fm</option>
<option value="ch">.ch</option>
<option value="cx">.cx</option>
<option value="cz">.cz</option>
<option value="es">.es</option>
<option value="gd">.gd</option>
<option value="gl">.gl</option>
<option value="gs">.gs</option>
<option value="eu">.eu</option>
<option value="in">.in</option>
<option value="la">.la</option>
<option value="org">.org</option>
<option value="com">.com</option>
<option value="info">.info</option>
<option value="co.uk">.co.uk</option>
</select>
</td>
<td id="prijs_extensie">&#8364; <input type="text" name="extensieprijs" id="extensieprijs" onfocus="this.blur()" size="6" /> p/maand.</td>
</table>

</body>
</html>


Zouden jullie me kunnen uitleggen hoe ik dit moet gaan doen, eventueel een tutorial waar ik van kan leren? b.v.d. Andries.
 
PHP hulp

PHP hulp

24/11/2024 02:41:38
 

20/04/2011 10:48:05
Quote Anchor link
"Java Caculator" ?? Misschien bedoel je een Javascript Calculator?
Er staat ook nergens wat je precies WIL met dit script? Wat wil je precies berekenen?
 
Andries van Duinen

Andries van Duinen

20/04/2011 10:52:38
Quote Anchor link
Ja een Javascript Calculator, dit script is zodat mensen kunnen kiezen welk domein extensie ze willen hebben. Een .nl/.com noem het maar op, maar iedere extensie heeft een andere prijs (bijna iedere dan) en het is de bedoeling dat als de cliënt een extensie kiest dat de maandelijkse kost prijs van de gekozen extensie getoond word en uit eindelijk bij het einde van het op het factuur overzicht te zien is.

Gr
 
- Mark -

- Mark -

20/04/2011 11:02:58
Quote Anchor link
Wat wil je optellen dan? De klant kan voor zover ik kan zien maar 1 keuze maken op deze manier.
 

20/04/2011 11:05:35
Quote Anchor link
Zelfs al maak je een prijscalculator zou je dat niet met Javascript moeten doen want op die manier kan je via een XSS injectie alsnog de prijs gewoon simpel aanpassen waardoor je voor bijv. 0 euro een domein kunt kopen.
 
- Mark -

- Mark -

20/04/2011 11:08:16
Quote Anchor link
Ik mag toch hopen dat het alleen maar voor het oog is. Er moet natuurlijk altijd nog gecontroleerd worden of datgene wat ingevuld is wel correct is.
Gewijzigd op 20/04/2011 11:10:55 door - Mark -
 
Write Down

Write Down

20/04/2011 11:31:25
Quote Anchor link
Dillen Meijboom op 20/04/2011 11:05:35:
Zelfs al maak je een prijscalculator zou je dat niet met Javascript moeten doen want op die manier kan je via een XSS injectie alsnog de prijs gewoon simpel aanpassen waardoor je voor bijv. 0 euro een domein kunt kopen.


Dat is niet 100% correct. Een goede programmeur die valideert altijd user-input. Dus, de TS moet kijken of het bedrag dat meegegeven is met het formulier wel kan.
 
Andries van Duinen

Andries van Duinen

20/04/2011 15:23:33
Quote Anchor link
Klopt, ik geef je een voorbeeld.. Is de website van een collega van mij. ( http://gvw-hosting.nl/webhosting/bestellen ) Als je hier in de bron kijkt, zie je dat er een javascript is gebruikt voor het berekenen van de prijzen, in mijn geval is het zo dat ik meerdere stappen aan het maken ben met behulp van php scripts. Heb dit script van mijn collega geprobeerd, maar zonder succes dus ben begonnen aan een script dat hier wel op kan gaan werken. Echter kom ik er zelf momenteel niet uit. Wat betreft dat de prijs nul blijft, is via de weg dat ik doe niet mogelijk, het javascript moet alleen aangeven wat de prijzen zijn p/maand en daar na bij stap 3 aangeven wat de totaal koste zijn excl en incl btw. Bij stap 3 krijgt de cliënt een goed en duidelijk overzicht van zijn/haar bestelling.
 

23/04/2011 10:09:07
Quote Anchor link
Ten 1e moet je je select element iets aanpassen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<select name="domeinext" id="domeinext" onchange="getPrice(this.value)" />


Javascript code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
var prices = []; //Array met prijzen
prices['nl'] = 50;
prices['be'] = 45;

function getPrice(domain) { //'domain' is het gekozen domein dus bijv: nl of be
var price = prices[domain]; //Als domain nl is dan word het: prices['nl']
document.getElementById('extensieprijs').value = price; //Input value word de prijs
}


En ga zo maar door... Er zijn verschillende manieren om de prijs uit te rekenen maar volgens mij klopt het zo.

Je zou overigens ook kunnen werken met de selectedIndex want dan kun je je array zo opmaken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var prices = [50, 45]; //Enz
 
Andries van Duinen

Andries van Duinen

24/04/2011 12:05:51
Quote Anchor link
Hey Dillen, ja heb behoorlijk wat zitten neuzen de afgelopen dagen en een hoop dingen geprobeerd. Ik gebruik nu als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<form>
    <table>
        <tr>
            <td style="width:119px;">Domeinnaam:</td>

            <td>www.<input style="width:160px;" type="text" name="domein" id="domein" /></td>
            <td><select name="domeinext" id="domeinext" onChange="changeWebhosting();" />
                <option value="empty" selected="selected">Extensie</option>
                <option value="nl">.nl</option>
                </select>
        <td id="prijs_extensie">&#8364; <input type="text" name="extensieprijs" id="extensieprijs" onfocus="this.blur()" size="6" /> p/maand.</td>

    </tr>
</table>


Volgende wat ik er nu mee doe, ik vul het totaal bedrag in (zonder btw).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
    var ext=0;
    var a=document.getElementById("domeinext").value;
        if(a=='nl') {ext=0.0;}
        else{ext=0;}


Staat hier nu op 0.0 maar je kan er alles in voeren bvb 20/30/40. Nu is de klus, bereken dit bedrag, hij moet aan tonen. Koste p/maand, koste p/jaar, totaal excl btw, wat er bij komt met 19% btw en totaaal incl btw. En dat heb ik eindelijk gevonden en heb ik zo gedaan.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
    var extpy= ext;
    var extpm= ext/12;
    var btwext= ext/100*19;
    var btwtt= btwext;
    var ttexcl= extpy;
    var ttincl= ttexcl+btwtt;


En dan tonen in het script, door het volgende te gebruiken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
    document.getElementById("extensieprijs").value= Math.round(extpm*100)/100;    
    document.getElementById("totaalext").value= Math.round(extpy*100)/100;    
    document.getElementById("totaalexcl").value= Math.round(ttexcl*100)/100;
    document.getElementById("btwprocent").value= Math.round(btwtt*100)/100;
    document.getElementById("totaalincl").value= Math.round(ttincl*100)/100;


Dit werkt als een zonnetje, dus voor mij is het probleem gelukkig opgelost. Ty in ieder geval voor jou manier Dillen
Gewijzigd op 24/04/2011 12:07:04 door Andries van Duinen
 
Joris van Rijn

Joris van Rijn

24/04/2011 13:15:42
Quote Anchor link
Tip:
Om bedragen (3 euro) goed te weergeven als geld (3.00 euro) kan je dit gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
price = 5;
document.write(price.toFixed(2));


Als opmerking nog:
Java != JavaScript.
 
Andries van Duinen

Andries van Duinen

24/04/2011 13:35:09
Quote Anchor link
Klopt, maar is in dit geval niet van toepassing aangezien we ook met 49 cent werken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.