2017-09-20 3 views
-2

ユーザーがGoogleオートコンプリートリストから都市を選択しなかった場合、エラーを表示する方法を見つけました。それを見つける方法はありますか?現在、私はautocompleteユーザーがGoogleマップの自動完成から都市を選択しなかった場合のエラーの表示方法

var txt_frm_addmarker_city = document.getElementById('frm_addmarker_city'); 

var city_autocomplete_options = { 
    language: 'it-IT', 
    types: ['(cities)'], 
    componentRestrictions: {country: "it"} 
}; 

var autocomplete_txt_frm_addmarker_city = new google.maps.places.Autocomplete(txt_frm_addmarker_city, city_autocomplete_options); 

// Add Marker form:: Get Position of Place (City) 
google.maps.event.addListener(autocomplete_txt_frm_addmarker_city, 'place_changed', function() { 
    var place = autocomplete_txt_frm_addmarker_city.getPlace(); 
    if ('undefined' != typeof place.geometry) { 

     var lat = place.geometry.location.lat(), 
      lng = place.geometry.location.lng(); 

     var randomGeoPoints = generateRandomPoints({'lat':lat, 'lng':lng}, 5000, 1); 

     jQuery("input[name='latitude']").val(randomGeoPoints[0].lat); 
     jQuery("input[name='longitude']").val(randomGeoPoints[0].lng);   
    } 
    else { 
     alertMagnificPopup("Error"); 
    } 
}); 

ためのコードの下に使用しています

だから基本的に私は、ユーザーがGoogleのオートコンプリートのみから都市を選択します。都市のフィールドにXYZと入力するだけでいいわけではありません。だから、ユーザーにエラーを表示し、さらに進めることを許可しない方法はありますか?

+0

を。テキストボックスをクリアする関数を実行します。 – Liquidchrome

答えて

0

は、あなたはそのような確認するために、ここでフラグ変数を使用することができます:あなたは(「エラー」)alertMagnificPopupを持っている他のセクションで

var isOptionSelected = false; 

google.maps.event.addListener(autocomplete_txt_frm_addmarker_city, 'place_changed', function() { 
    isOptionSelected = true; 
    // your map option select logic here 
}); 

// On submit button click you can verify that 
document.getElementById("submitForm").addEventListener("click", function(){ 
    if (!isOptionSelected){ 
     alert('Please select an option from autocomplete'); 
     return; // skip an further form processing logic 
    } 

    // Reset the flag state here 
    isOptionSelected = false; 

    // Now, continue with your logic 
}); 
関連する問題