У меня проблема с JavaScript, когда мне нужно запустить и завершить функцию до запуска другой функции.
Вот код, который мне нужно запустить и завершить первым. Как видите, я перебираю все поля ввода адресов в форме и геокодирую их через API Карт Google.
$('#form input:text.address').each(function() {
var address = $(this);
var Geocoder = new google.maps.Geocoder();
Geocoder.geocode({ 'address': address.val() }, function(results, status) {
// Store the results in a hidden input field.
});
});
После того, как это полностью завершится, то есть после того, как все ответы от API Карт Google вернутся, мне потребуется форма для отправки. Вот текущий код отправки ajax, который я использую:
$('#form').ajaxForm(
{
success:
function() {
...
}
}
);
Проблема, с которой я столкнулся, заключается в том, что форма отправлена до ответа API Карт Google. Метод ajaxForm()
допускает функцию обратного вызова beforeSubmit
, но он все еще не ожидает завершения функции. Я понимаю, что это потому, что JavaScript асинхронный, но я не уверен, как решить эту конкретную проблему.
Любая помощь приветствуется! Спасибо!