私はDjangoのサインアップフォームにモーダルを使用しています。私がしたいのは、入力をチェックし、フォームがリフレッシュされてサインアップが成功したことを示したり、入力が不足している、または間違っていると不平を言うことです。私が作業しているコードからわかる限り、通常のページを使用していればこのフォーマットは正しいでしょうが、モーダルでは動作しません。ボタンをクリックすると、事物が間違いなく裏で確認されています(そして、データベースは更新されていますので、そのすべてがうまくいきます)が、最後には何もページに戻されません。フォームフィードバックによるモーダル更新
@requires_csrf_token
def signup(request):
error, success = '', ''
recap = request.POST.get('g-recaptcha-response')
[ETC]
if request.method == 'POST':
[CHECKING INPUTS]
if not error:
[OTHER STUFF]
success = "SUCCESS MESSASGE"
return render(request, 'signup_modal.html',
{ 'firstname': firstname,
'lastname': lastname,
'email': email,
'phone': phone,
'error': error,
'success': success})
ここではリターンレンダリングリクエストビットの問題があると思います。
ありがとうございます。
ETA:
Javascriptを:
<script type="text/javascript">
$(function() {
$(".submit-signup").on("click", function() {
var data = $("#signup-form").serialize();
$.post("/signup/", data, function() {
});
});
});
</script>
応答]タブ:
<form id="signup-form">
<input id="id_firstname" type="text" name="firstname" placeholder="First name"
value="firstname" >
<input id="id_lastname" type="text" name="lastname" placeholder="Last name"
value="lastname" >
<input id = "id_email" type="email" name="email" placeholder="e-mail"
value="[email protected]" >
<input id="id_password" type="password" name="password" placeholder="Password">
<input id="id_password_repeat" type="password" name="password_repeat" placeholder="Repeat password">
<div class="g-recaptcha" data-sitekey="KEY"></div>
<p class="success-message"> </p>
<p class="error-message"> Couldn't verify reCAPTCHA. Refresh the page and try again? </p>
<button type="button" class="submit-signup">Sign up</button>
</div>
</form>
成功/エラー変数を印刷してみてください。 Pythonコンソールを確認します。フォームをPOSTするときのステータスコードは何ですか?何か? – Aakash
ええ、成功したか、またはエラーが期待値を取得します。ボタンをクリックすると、コンソールに「 'POST/signup/HTTP/1.1' 200 1897」と表示されます。 – ballardjw2
だから、すべてが期待どおりに進んでいるなら、正確に何をしたいですか? 「何も最後のページに返されない」という意味はどうですか? – Aakash