我無法理解爲什麼我必須將觸發getJSON方法的按鈕放在表單之外以便請求工作。從表單中的按鈕觸發的getJSON
如果按鈕放置在窗體內,那麼getJSON方法不會返回任何結果。
該代碼根據所選值基本上單擊提交按鈕發出XHR請求。我在這裏複製的問題: http://jsfiddle.net/z6caj/
非常感謝,
我無法理解爲什麼我必須將觸發getJSON方法的按鈕放在表單之外以便請求工作。從表單中的按鈕觸發的getJSON
如果按鈕放置在窗體內,那麼getJSON方法不會返回任何結果。
該代碼根據所選值基本上單擊提交按鈕發出XHR請求。我在這裏複製的問題: http://jsfiddle.net/z6caj/
非常感謝,
其實你可以做使用onchange事件例如在下拉Ajax請求
$('#state').change(function(){
//do stuff
}
按鈕的點擊後會提交表單的正常方式(放置在窗體內部時)。 return false
在您的點擊處理程序的末尾,它應該按預期工作。另外,防止提交通過使表單的提交處理return false
:
$("form").submit(function() {
return false;
});
因爲它是一個提交按鈕,你什麼也不做,以防止默認動作。
所以JS運行(設置Ajax請求進行),然後表單提交(離開頁面並拋出請求)。
見http://docs.jquery.com/Tutorials:How_jQuery_Works(一節開始「對於點擊和大多數其他事件」)
這就是我最終做的:)! – van 2010-05-12 15:28:10