...

View Full Version : problems with variables



tobiasf
06-26-2012, 01:05 PM
Hi,

What should I do that variable "d1" shows in a filed "Distance" in the form?


<!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">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta name="robots" content="noindex,follow" />
<title>Calculate driving distance with Google Maps API</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=AIzaSyDtR4SBY1CQIRQtvgAL-n3y0MHI9WHCicM" type="text/javascript"></script>
<!-- According to the Google Maps API Terms of Service you are required display a Google map when using the Google Maps API. see: http://code.google.com/apis/maps/terms.html -->
<script type="text/javascript">

var geocoder, location1, location2, gDir;

function initialize() {
geocoder = new GClientGeocoder();
gDir = new GDirections();
GEvent.addListener(gDir, "load", function() {
var drivingDistanceMiles = gDir.getDistance().meters / 1609.344;
var drivingDistanceKilometers = gDir.getDistance().meters / 1000;
document.getElementById('d1').innerHTML =+drivingDistanceKilometers;



});
}

function showLocation() {
geocoder.getLocations(document.forms[0].address1.value, function (response) {
if (!response || response.Status.code != 200)
{
alert("Przykro nam, ale wpisałeś niepoprawny adres. Spróbuj ponownie!");
}
else
{
location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
geocoder.getLocations(document.forms[0].address2.value, function (response) {
if (!response || response.Status.code != 200)
{
alert("Sorry, we were unable to geocode the second address");
}
else
{
location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
gDir.load('from: ' + location1.address + ' to: ' + location2.address);
}
});
}
});
}

</script>
</head>

<body onload="initialize()">

<form action="#" onsubmit="showLocation(); return false;">
<p>
<input type="text" name="address1" value="Warszawa" />
<input type="text" name="address2" value="Radom" />
<input type="submit" value="Search" />
</p>
</form>

<p id="d1"></p>
distance:
<input name="distance" id="d1">

</body>
</html>

Philip M
06-26-2012, 01:14 PM
As d1 is the id of a form field you need

document.getElementById('d1').value =+drivingDistanceKilometers;

You may not assign the same id to two elements -

<p id="d1" ></p>
distance:
<input name="distance" id="d1" >
and you must close your form after the input textbox:-


<form action="#" onsubmit="showLocation(); return false;">
<p>
<input type="text" name="address1" value="Warszawa" />
<input type="text" name="address2" value="Radom" />
<input type="submit" value="Search" />
</p>

<p id="d1"></p>
distance:
<input type = "text" name="distance" id="d2">
</form>



All advice is supplied packaged by intellectual weight, and not by volume. Contents may settle slightly in transit.



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum