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