リクエストを機能させるために、getJSONメソッドをトリガーするボタンをフォームの外に配置する必要がある理由を理解するのに苦労しています。
ボタンがフォーム内に配置されている場合、getJSONメソッドは結果を返しません。
コードは基本的に、選択した値に基づいて、[送信]ボタンをクリックするとXHRリクエストを作成します。私はここで問題を再現しました:http: //jsfiddle.net/z6caj/
どうもありがとう、
リクエストを機能させるために、getJSONメソッドをトリガーするボタンをフォームの外に配置する必要がある理由を理解するのに苦労しています。
ボタンがフォーム内に配置されている場合、getJSONメソッドは結果を返しません。
コードは基本的に、選択した値に基づいて、[送信]ボタンをクリックするとXHRリクエストを作成します。私はここで問題を再現しました:http: //jsfiddle.net/z6caj/
どうもありがとう、
ボタンをクリックすると、通常の方法でフォームが送信されます(フォーム内に配置されている場合)。return false
クリックハンドラの最後にあり、期待どおりに機能するはずです。または、フォームの送信ハンドラーを作成して送信を防止しreturn false
ます。
$("form").submit(function() {
return false;
});
これは送信ボタンであり、デフォルトのアクションを防ぐために何もしません。
したがって、JSが実行され(Ajaxリクエストを実行するように設定)、フォームが送信されます(ページを離れてリクエストを破棄します)。
http://docs.jquery.com/Tutorials:How_jQuery_Works(「クリックおよびその他のほとんどのイベント」で始まるセクション)を参照してください。
onchange イベントを使用して、実際にドロップダウンで ajax リクエストを実行できます。
$('#state').change(function(){
//do stuff
}