フォームを送信する前にjqueryコードを実行する必要がありますが、いくつかの問題があるようです。
あなたがこれを推薦するために急ぐ前にちょうど私を聞いてください:
$(function() {
$('form').submit( function() {
/* some code */
return true;
});
});
「送信」ボタンを押した後、最初にgoogle APIを使用して住所の経度と緯度の変数を計算してから、フォームを送信する必要があります。それには、コールバック関数で応答をリッスンする必要があります。
私がこれまでに持っているコードは次のようになります。
$("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();
}
});
});
「submit」関数を使用して同じことを行うと、コールバック関数がトリガーされる前にフォームが送信され、コードビハインドが欠落した値で実行されます。
上記のコードのようにボタンの「クリック」イベントを使用して手動で送信すると、コードは正しく実行されますが、送信によってフォームの背後にあるコードがトリガーされません。
私はこれを機能させることに近いと思いますが、コードを実行し、コールバック値を処理してからフォームを正しく送信し、コードビハインドが実行される魔法の組み合わせを見つけることができません。