i trying lat long of address inserted form before form submitted.
here code:
var success = false; var getlat = 0; var getlng = 0; function getlnglat() { var address = $(".save-new-address").val(); if(!address) return false; if(success) return false; var geocoder = new google.maps.geocoder(); geocoder.geocode( { 'address': address}, function(results, status) { if (status == google.maps.geocoderstatus.ok) { console.log(results); map.setcenter(results[0].geometry.location); success = true; var newmarker = new google.maps.marker({ position: results[0].geometry.location, map: map }); $(".save-new-lat").val(results[0].geometry.location.lat); $(".save-new-lng").val(results[0].geometry.location.lng); } else { alert("geocode not successful following reason: " + status); }; }); } $("form#save-new-restaurant").submit(function () { getlnglat(); if(success) { return true; } else { getlnglat(); $("form#save-new-restaurant").submit(); return false; } });
most of copied google developers page. finding either form submitting quick, , details being retrieved after above function has finished,
i trying data google when form submitted, , when i've got data want submit form. how can this?
try instead
var success = false; var getlat = 0; var getlng = 0; function getlnglat() { var address = $(".save-new-address").val(); if(!address) return false; if(success) return false; var geocoder = new google.maps.geocoder(); geocoder.geocode( { 'address': address}, function(results, status) { if (status == google.maps.geocoderstatus.ok) { console.log(results); map.setcenter(results[0].geometry.location); success = true; var newmarker = new google.maps.marker({ position: results[0].geometry.location, map: map }); $(".save-new-lat").val(results[0].geometry.location.lat); $(".save-new-lng").val(results[0].geometry.location.lng); $("form#save-new-restaurant").unbind("submit"); // unbinding event getlnglat doesn't execute again document.getelementbyid('save-new-restaurant').submit(); $("form#save-new-restaurant").bind("submit", formsubmitcallback); // attaching event further uses if require } else { alert("geocode not successful following reason: " + status); }; }); } $("form#save-new-restaurant").bind("submit", formsubmitcallback); function formsubmitcallback() { getlnglat(); return false; }
hope !!
Comments
Post a Comment