w Jquery jak uruchomić kod z wywołaniem zwrotnym przed wysłaniem
Muszę uruchomić kod jquery przed wysłaniem formularza i wydaje się, że są pewne problemy.
Po prostu mnie wysłuchaj, zanim zaczniesz polecać:
$(function() {
$('form').submit( function() {
/* some code */
return true;
});
});
Potrzebuję, po naciśnięciu przycisku „prześlij” najpierw oblicz zmienne długości i szerokości geograficznej adresu za pomocą google API, a następnie prześlij formularz. Wymaga to wysłuchania odpowiedzi w funkcji wywołania zwrotnego.
Kod, który do tej pory mam, wygląda tak:
$("form input:submit").click(function(e){
e.preventDefault();
var address = $(this).find('.address').val();
geocoder.geocode( { 'address': unescape(address)}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
$(".latSelector input:hidden").val(results[0].geometry.location.lat());
$(".lngSelector input:hidden").val(results[0].geometry.location.lng());
$("form").submit();
}
});
});
Jeśli zrobię to samo, korzystając z funkcji „Prześlij”, formularz zostanie przesłany przed uruchomieniem funkcji wywołania zwrotnego i wykonaniem kodu z brakującymi wartościami.
Jeśli użyję zdarzenia „kliknij” na przycisku, tak jak w powyższym kodzie i prześlę ręcznie, kod zostanie wykonany poprawnie, ale zgłoszenie nie wywoła kodu za formularzem.
Sądzę, że zbliżam się do tego, ale nie mogę znaleźć magicznej kombinacji, która uruchomi kod, przetworzy wartości wywołania zwrotnego, a następnie poprawnie prześle formularz, dzięki czemu kod zostanie wykonany.