我在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控制檯,發佈表單時什麼是狀態碼?任何事情? – Aakash
是的,成功和/或錯誤獲得預期值。當我點擊按鈕時,控制檯會顯示「'POST/signup/HTTP/1.1'200 1897」。 – ballardjw2
那麼,如果一切按預期進行,你到底想做什麼? 「什麼都沒有發送回頁面」是什麼意思? – Aakash