2013-07-26 4 views
0

У меня возникла проблема с расположением карты Google. Когда мы нажимаем на отображение результатов в текстовом поле, форма отправляется. Как мы можем предотвратить отправку формы при нажатии на местоположение карты Google.google map location result click issue

Вот мои ЯШ:

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places"></script> 

function initialize() { 
    var map = new google.maps.Map(document.getElementById('map-canvas'), { 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 
    var defaultBounds = new google.maps.LatLngBounds(
     new google.maps.LatLng(-33.8902, 151.1759), 
     new google.maps.LatLng(-33.8474, 151.2631)); 
    map.fitBounds(defaultBounds); 

    var input = /** @type {HTMLInputElement} */(document.getElementById('target')); 
    var searchBox = new google.maps.places.SearchBox(input); 
    var markers = []; 

    google.maps.event.addListener(searchBox, 'places_changed', function() { 
    var places = searchBox.getPlaces(); 

    for (var i = 0, marker; marker = markers[i]; i++) { 
     marker.setMap(null); 
    } 

    markers = []; 
    var bounds = new google.maps.LatLngBounds(); 
    for (var i = 0, place; place = places[i]; i++) { 
     var image = { 
     url: place.icon, 
     size: new google.maps.Size(71, 71), 
     origin: new google.maps.Point(0, 0), 
     anchor: new google.maps.Point(17, 34), 
     scaledSize: new google.maps.Size(25, 25) 
     }; 

     var marker = new google.maps.Marker({ 
     map: map, 
     icon: image, 
     title: place.name, 
     position: place.geometry.location 
     }); 

     markers.push(marker); 

     bounds.extend(place.geometry.location); 
    } 

    map.fitBounds(bounds); 
    }); 

    google.maps.event.addListener(map, 'bounds_changed', function() { 
    var bounds = map.getBounds(); 
    searchBox.setBounds(bounds); 
    }); 
} 

google.maps.event.addDomListener(window, 'load', initialize); 

HTML код:

<div id="panel"> 
    <form action=""> 
     <input id="target" type="text" placeholder="Search Box"> 
     <input type="submit" value="submit" name="submit"> 
     </form> 
    </div> 
    <div id="map-canvas"></div> 

кто может помочь в отношении

+0

не получив ответа после долгого ожидания –

ответ

0

Нажатие на клавишу ввода внутри текстового поля вызовет форму, чтобы получить представил. Одним из способов обойти эту проблему было бы преобразование кнопки отправки в кнопку и добавление идентификатора в вашу форму.

<form id="form1" action=""> 

<input type="button" value="submit" name="submit" onclick="document.getElementById('form1').submit();"> 

Это должно помешать прочтению страницы на клавише ввода и отправить только при нажатии кнопки.

+0

спасибо! нам также нужно, не нажимая на кнопку, как введите местоположение и нажмите –