3
我有一個包含單一表單的頁面。該表單包含一個文本框和一個提交按鈕。jQuery:在提交表單之前執行一些操作
當提交表單時,無論是通過點擊按鈕,還是按下文本框中的回車鍵,我想要進行查找(在這種情況下,使用Bing地圖對郵編進行地理編碼),然後將表單提交給服務器,像往常一樣。
我目前的做法是爲提交事件添加一個處理程序給唯一的表單,然後在完成時調用submit(),但是我無法讓它工作, t能夠調試問題:
$(document).ready(function() {
$("form").submit(function (event) {
var postcode = $.trim($("#Postcode").val());
if (postcode.length === 0) {
return false;
}
var baseUrl = "http://dev.virtualearth.net/REST/v1/Locations/UK/";
var apiKey = "myKey";
var url = baseUrl + postcode + "?key=" + apiKey + "&jsonp=?";
$.getJSON(url, function (result) {
if (result.resourceSets[0].estimatedTotal > 0) {
var location = result.resourceSets[0].resources[0].point.coordinates;
$("#latitude").val(location[0]);
$("#longitude").val(location[1]);
$("form").submit();
}
});
});
});
您還需要排除任何代碼,您只想跑,你可能會想運行'$ .getJSON(...)在第一時間再次' 。 – devmatt 2011-05-29 11:05:19
非常正確,修改其餘的只能在else條件下運行。雖然,它不應該在提交表單上運行ajax,但現在至少它不會嘗試去做。 – Niklas 2011-05-29 11:09:03