如果提交的表单有效,我试图显示警告 在视图中,我有一个隐藏的输入,如果表单有效,则会更改值。
我有这个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。表单提交后更改: (我在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:
<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>
谢谢你。
答案 0 :(得分:1)
我过去曾经使用过这样的东西。
$( document ).ready(function() {
$('#your-form').on('submit', function(e) {
e.preventDefault();
if (document.registroForm.alert.value==1){
swal("¡Bien hecho!", "El registro fue exitoso.", "success");
return true;
} else if (document.registroForm.alert.value==0){
swal("¡Oops!", "Algo salió mal.", "error")
}
});
});
但是你完成它,我相信你需要一个事件监听器来提交表单并默认禁用回发。然后,您可以执行有效提交的检查。
答案 1 :(得分:0)
您可以使用标志变量来控制它。您通过URL传递变量。
在您的按钮中:
<button type="button" onclick="myFunction(1)">Submit</button>
在同一页的脚本中:
<script type="text/javascript">
function myFunction(value){
window.location = "page.html?myVariabel="+value;
}
</script>
在页面中,您要检查并显示男士手册,您可以使用它:
<script type="text/javascript">
var query = location.search.slice(1);
var part = query.split('=');
if(part[1] == 1){
//Your code
}
</script>
答案 2 :(得分:0)
我所做的是在页面加载时将变量“alert”设置为None。表单提交后更改: (我在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:
<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>
谢谢你。