我在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