Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Java] Hulp gevraagd bij "simpele" rekensom

Pagina: 1
Acties:
  • 517 views

  • Switchie
  • Registratie: April 2009
  • Niet online

Switchie

Mr. Evil Genius

Topicstarter
Een vriend van mij heeft mij gevraagd een "simpel" rekenformulier voor de website te maken.
Onder het mom; jij bent wel slim met computers, dus dit kun je ook wel, ben ik de uitdaging maar aangegaan.
Helaas heb ik vanuit vroeger een klein stukje ervaring met html, maar hier is helaas alles mee gezegd.
Onder het mom, al doende leert men ben ik maar aan de slag gegaan, maar helaas loop ik nu tegen een probleem aan.

Enfin, het idee is als volgt;
We rekenen per km 0,25 cent voorrijkosten.
Het aantal kilometers wordt opgehaald dmv de maps api.
Hier boven op komt de berekening voor het aantal personen * kosten per pakket.
Simpel gezegd wordt het dus (km * 0.25)+(personen * kosten pakket)

Inmiddels heb ik het volgende voor elkaar weten te knippen plakken, maar het werkt helaas niet zoals ik wil.

Zou iemand mij een duwtje in de goede richting kunnen geven?

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<!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"  xmlns:v="urn:schemas-microsoft-com:vml">
  <head>
<title>Connectcase.nl: Gratis afstand berekening tussen twee plaatsen met Google Maps</title>
<meta http-equiv="content-Type" content="text/html; charset=iso-8859-1" />


<script src="http://maps.google.nl/maps?file=api&amp;v=2&amp;key=ABQIAAAAEOe-MThhhCIOMKwWDPbwhRRS8CkXXPt5sVVf4YkaT1EeWYX3cBRwsjSrpuJm-goUrjhfsUYusXdklQ" type="text/javascript"></script>
<script type="text/javascript" language="javascript">

    function initialize() 
    {
      if (GBrowserIsCompatible()) 
      {
        // nieuw object ZONDER parameters, want we willen nl. geen geschreven route EN geen map tonen....
        // http://code.google.com/apis/maps/documentation/reference.html#GDirections
        gdir = new GDirections();
        GEvent.addListener(gdir,"load", set_distance); 
      }
    }

    function setDirections(fromAddress, toAddress, locale) 
    {
    // http://code.google.com/apis/maps/documentation/reference.html#GDirectionsOptions
    gdir.load("from: " + fromAddress + " to: " + toAddress, {locale: locale, travelMode:G_TRAVEL_MODE_DRIVING,avoidHighways: false} );
    }

    function set_distance() 
    {
    // extra: foutafhandeling, kan handig zijn!!!
    handleErrors(); 
    document.getElementById("afstand").innerHTML = gdir.getDistance().html; 
    }
    
  function handleErrors()
  {
  // http://code.google.com/apis/maps/documentation/reference.html#GGeoStatusCode
   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
     alert("No corresponding geographic location could be found for one of the specified addresses. This may be due to the fact that the address is relatively new, or it may be incorrect.\nError code: " + gdir.getStatus().code);
   else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
     alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + gdir.getStatus().code);
   else if (gdir.getStatus().code == G_GEO_MISSING_QUERY || gdir.getStatus().code == G_GEO_MISSING_ADDRESS)
     alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdir.getStatus().code);
   else if (gdir.getStatus().code == G_GEO_BAD_KEY)
     alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdir.getStatus().code);
   else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
     alert("A directions request could not be successfully parsed.\n Error code: " + gdir.getStatus().code);
   else if (gdir.getStatus().code == G_GEO_UNAVAILABLE_ADDRESS)
     alert("The geocode for the given address or the route for the given directions query cannot be returned due to legal or contractual reasons.\n Error code: " + gdir.getStatus().code);
   else if (gdir.getStatus().code == G_GEO_UNKNOWN_DIRECTIONS)
     alert("The GDirections object could not compute directions between the points mentioned in the query. This is usually because there is no route available between the two points, or because we do not have data for routing in that region.\n Error code: " + gdir.getStatus().code);     
   else if (gdir.getStatus().code == G_GEO_TOO_MANY_QUERIES)
     alert("The given key has gone over the requests limit in the 24 hour period or has submitted too many requests in too short a period of time.\n Error code: " + gdir.getStatus().code);     
    }


function TelOp() 
{
var waarde;
waarde = document.all.afstand.value * 0.25
var waarde2;
waarde2 = document.all.pakket.value * document.all.personen.value
document.all.uitkomst.value = "EUR " + (waarde + waarde2);
}

</script>

  </head>
<body onload="initialize()" onunload="GUnload()">
<form action="#" onsubmit="setDirections(this.from.value, this.to.value, 'nl'); return false">
<table border="0">
<tr>
<td>van:&nbsp;</td><td><input type="text" size="40" id="fromAddress" name="from" value="Hengelo"/></td>
<td>naar:&nbsp;</td><td><input type="text" size="40" id="toAddress" name="to" value="zuiddijk 101, zaandam" /></td>
<td><input tabindex="1" name="submit" type="submit" value="Bereken afstand!" /></td>
</tr>
</table>
</form>
<div id="afstand" name="afstand"></div>


Pakket: <select name="pakket" onChange="javascript:TelOp()">
  <option value="10">Pakket S</option>
  <option value="20">Pakket M</option>
  <option value="30">Pakket L</option>
</select><br/>


Aantal personen:<input type="text" size="6" name="personen" onChange="javascript:TelOp()" value="0"><br/>
<textarea name="uitkomst"></textarea>
</form>
</body>
</html>

'Future proof' (de; v) Verschijnsel waarbij men een dure aankoop rechtvaardigt door innovatie te negeren


  • pedorus
  • Registratie: Januari 2008
  • Niet online
Als je [code=html] correct zou gebruilen, dan zie je al minstens 2 fouten zo zitten. Gebruik dus even de Edit knop.
offtopic:
en doe het snel, dit is een een beetje ib4tl ;)

Als je die hebt verbeterd, gaat het dan wel goed of wat gaat er dan nog mis? Gebruik dan iets als Firebug om te debuggen, dat gaat vast sneller/handiger dan dit forum. ;)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Switchie schreef op dinsdag 16 juli 2013 @ 20:25:
Onder het mom; jij bent wel slim met computers, dus dit kun je ook wel
Nou, jij bent slim met computers dus dan los je dit ook wel op ;) :P
Switchie schreef op dinsdag 16 juli 2013 @ 20:25:
...maar het werkt helaas niet zoals ik wil.

Zou iemand mij een duwtje in de goede richting kunnen geven?
Jazeker: je zou eens kunnen beschrijven wat je bedoelt met "maar ... niet zoals ik wil". Werkt 't helemaal niet? Gaat de som verkeerd? Gaat er iets anders mis? Krijg je een foutmelding?

Van naar ~100 regels code staren worden wij namelijk net zo wijs als jij. Het is daarom handig(er) als je een testcase zou plaatsen op, bijvoorbeekld jsfiddle. Die testcase beperk je tot een minimum aan relevante(!) code voor je probleem, alle overige poeha, opmaak, classes en zut die niet relevant is voor je probleem laat je achterwege. Dat is a) zodat wij door de bomen het bos kunnen zien en b) zodat je voor jezelf ook duidelijk hebt wat nu wel en wat nu niet relevant is voor je probleem. Als je het probleem in een handje vol regels code kunt reproduceren (en dat kan in zowat élk geval, trust me) kun je ook veel makkelijker aan 't troubleshooten.

Probeer het dus even opnieuw met bovenstaande tips in je achterhoofd in een nieuw topic. Hou daarbij ook in je achterhoofd dat java != javascript en dus je topic in 't juiste forum plaatst (Waar hoort mijn topic?). En als je dan aan 't typen gaat voor een topicstart dan leg je even onze Quickstart er naast zodat je ook zeker-weten niets achterwege laat / vergeet in je nieuwe topic ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Dit topic is gesloten.