jQueryとjQueryのUIダイアログを理解するのに少し役立ちます。メソッド= POSTで定義されたjQueryのUIダイアログフォームのサブミットGETへの変換方法
フォームを含むhtmlページを読み込むために、jQuery v1.8.18 UIダイアログとjQuery v1.7.1を使用しています。フォーム自体は、Djangoテンプレートによって生成されました。フォームに記入して「送信」をクリックすると、Djangoサーバー側に表示されているHTTPリクエストを確認しました。サーバーはGET型のAjax要求と空のGETおよびPOST辞書を要求します。
予想される結果は、実際の送信データが入ったPOSTになります。誰かがUIダイアログがPOST要求をGETに変更した方法を理解できますか?私はFirebugを使用していますが、いくつかのデバッグアイデアが必要です。ありがとう。要素#友人-要求はちょうどHTMLのアンカーである
<script>
$(document).ready(function() {
var $dialog = $('<div></div>').load('/friend-request/').dialog({autoOpen:false, title:'Friend Request', modal:true});
$('#friend-request').click(function() {
$dialog.dialog('open');
// prevent the default action, e.g., following a link
return false;});
});
</script>
:
これは、私はUIのダイアログを作成する方法です。私のフォームはダイアログにうまくロードされました。生成されたHTMLフォームコードを次に示します。
<form id="id-friendreq" method="post">
<div style="display:none"><input type="hidden" value="12a94012df543b050d69f46f0" name="csrfmiddlewaretoken"></div>
<div class="ctrlHolder" id="div_id_to_user">
<label for="id_to_user">
To user<span class="asteriskField">*</span>
</label>
<input type="text" maxlength="15" name="to_user" id="id_to_user">
</div>
<div class="ctrlHolder" id="div_id_message">
<label for="id_message">
Message<span class="asteriskField">*</span>
</label>
<textarea class="textarea" cols="40" id="id_message" name="message">Hi, please add me as your friend.</textarea>
</div>
<div class="buttonHolder">
<input type="submit" id="submit-id-submit" class="submit submitButton button white" value="Submit" name="submit">
</div>
</form>
この設定では、実際にjQuery ajax関数を直接呼び出すわけではありません。私はちょうどUIダイアログに読み込まれる静的なフォームを提出しています。 UIダイアログはそれ用に設計されていませんか?ダイアログ内でこのフォームを送信するには明示的なajax呼び出しが必要ですか? – lastoneisbearfood
はまったく必要ではありませんが、サーバーはそれを「GETタイプのajax要求」と見なします。 – charlietfl
はい、私はそれがどうなったのかを理解しようとしています。送信ボタンは、コードでわかるように、単純な古いです。 – lastoneisbearfood