2

リクエストを機能させるために、getJSONメソッドをトリガーするボタンをフォームの外に配置する必要がある理由を理解するのに苦労しています。

ボタンがフォーム内に配置されている場合、getJSONメソッドは結果を返しません。

コードは基本的に、選択した値に基づいて、[送信]ボタンをクリックするとXHRリクエストを作成します。私はここで問題を再現しました:http: //jsfiddle.net/z6caj/

どうもありがとう、

4

3 に答える 3

3

ボタンをクリックすると、通常の方法でフォームが送信されます(フォーム内に配置されている場合)。return falseクリックハンドラの最後にあり、期待どおりに機能するはずです。または、フォームの送信ハンドラーを作成して送信を防止しreturn falseます。

$("form").submit(function() {
    return false;
});
于 2010-05-05T13:15:54.630 に答える
2

これは送信ボタンであり、デフォルトのアクションを防ぐために何もしません。

したがって、JSが実行され(Ajaxリクエストを実行するように設定)、フォームが送信されます(ページを離れてリクエストを破棄します)。

http://docs.jquery.com/Tutorials:How_jQuery_Works(「クリックおよびその他のほとんどのイベント」で始まるセクション)を参照してください。

于 2010-05-05T13:16:06.993 に答える
1

onchange イベントを使用して、実際にドロップダウンで ajax リクエストを実行できます。

$('#state').change(function(){

     //do stuff

}
于 2010-05-05T14:42:10.963 に答える