Google maps, по клику не добавляя широту / длину в форму - PullRequest
0 голосов
/ 20 июля 2010

Просто продолжение предыдущего вопроса. У меня есть следующая форма ..

     <body onload="initialize()" onunload="GUnload()">

     <form action="welcome.php" method="post">
     Name: <input type="text" name="fname" /><br/>
     <br/>Description: <BR>
     <TEXTAREA NAME="description" COLS=40 ROWS=6></TEXTAREA><br/>
     <div id="map_canvas" style="width: 500px; height: 300px"></div><br/>
     Latitude:<INPUT NAME="lat" SIZE=20 MAXLENGTH=40
     onKeyPress="return numbersonly(this, event)"><br/>
     Longitude:<INPUT NAME="lng" SIZE=20 MAXLENGTH=40
     onKeyPress="return numbersonly(this, event)">
     <input type="submit" />
     </form>

     </body>

и следующий JavaScript API Google ...

 <script type="text/javascript">

 function initialize() {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("map_canvas"));
    map.setCenter(new GLatLng(53.347247,-6.259031), 13);
    map.setUIToDefault();

    GEvent.addListener(map, "click", function(overlay, latLng)
{
    // display the lat/lng in your form's lat/lng fields
    document.getElementById("lat").value = latLng.lat();
    document.getElementById("lng").value = latLng.lng();
});
  }
 }


  </script>

По сути, я хочу поместить значение lat и long местоположения в поля lat + lng формы, но, похоже, оно не копируется ... почему? что я делаю не так?

1 Ответ

1 голос
/ 20 июля 2010

Если вы используете document.getElementById (), ваши входные элементы должны иметь id из "lat" и "lng", наряду с именем lat и long для того, когда вы передаете форму. то есть:

<input type='text' id='lat' name='lat'>

Вы можете рассматривать идентификатор как то, что DOM использует для идентификации элемента, а имя - как то, что браузер передает в GET / POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...