0
如果表单提交有效或无效,我会尝试显示提醒。
在视图中,我有一个隐藏的输入,如果表单有效或没有更改值。在表单提交后显示JavaScript提醒 - Django
我有这个JavaScript:
$(document).ready(function() {
if (document.registroForm.alert.value==1){
swal("¡Bien hecho!", "El registro fue exitoso.", "success")
}
if (document.registroForm.alert.value==0){
swal("¡Oops!", "Algo salió mal.", "error")
}
});
的问题是,我得到我每次刷新页面时的警报。
而我只是想在用户提交表单和页面刷新时做到这一点
谢谢。
问题解决了。
我所做的是在页面加载时将变量“alert”设置为None。该表格后提交的变化:由
<form method="POST" action=".">
[... some labels and inputs ...]
<input type="hidden" name="alert" value="{{alert}}" readonly>
</form>
<script>
$(document).ready(function() {
if (document.registroForm.alert.value==1){
swal("¡Bien hecho!", "El registro fue exitoso.", "success")
}
if (document.registroForm.alert.value==0){
swal("¡Oops!", "Algo salió mal.", "error")
}
});
</script>
感谢: (我修改这个对我的views.py)
views.py
def registroUsuario(request):
if request.method == "POST":
form = registroForm(request.POST or None)
if form.is_valid():
alert = 1
instance = form.save(commit=False)
instance.is_active = False
instance.save()
else:
alert = 0
else:
alert = None
form = registroForm()
context = {
"titulo": "Registrarse",
"form": form,
"alert": alert,
}
template = "micuenta/registro.html"
return render(request, template, context)
和我的.html办法。
你是如何刷新页面的?作为获取或发布? – Bindrid
作为POST方法。 –
由于数据与隐藏值一起发布,因此它会保留该值。也许尝试刷新页面作为get。 – Bindrid