我想在用戶提交表單後顯示加載GIF,但如果用戶未填寫必填字段並收到表單填寫錯誤,則不顯示。如何根據返回的錯誤控制模板渲染? Django
這是我做過什麼:
{% if not profile_form.errors %}
<input type="submit" value="Submit" class="btn btn-primary btn-lg " onclick="loading();" />
{% else %}
<input type="submit" value="Submit" class="btn btn-primary btn-lg" />
{% endif %}
的onclick="loading();
負載GIF。
但它不起作用。
它顯示加載gif,如果我提交也如果用戶沒有填寫必填字段,這看起來表單被絞死。
這是函數:
function loading(){
$("#loading").show();
$("#content").hide();
}
這是模板:
{% block body_block %}
<div id="loading"><img src= "{% static 'images/giphy.gif' %}"></div>
<div id="content" class="col-sm-6 col-sm-offset-3" style="margin-top: 100px;margin-bottom: 100px" >
<h1>Create Your Profile</h1>
<form method="post" action="?next=/" enctype="multipart/form-data">
{% csrf_token %}
{{ user_form|crispy }}
{{ profile_form|crispy }}
{% if not profile_form.errors %}
<input type="submit" value="Submit" class="btn btn-primary btn-lg " onclick="loading();" />
{% else %}
<input type="submit" value="Submit" class="btn btn-primary btn-lg" />
{% endif %}
</form>
</div>
{% endblock %}
這是CSS:
/*LOADING GIF*/
div#loading {
display: none;
cursor: wait;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 4;
}
*但它不起作用。*展開。由於視圖中的第一個渲染沒有錯誤,因此至少會顯示GIF,直到窗體在視圖中得到驗證。你可以改爲使用JS驗證。 –
發佈功能代碼?你在哪裏宣佈你的功能? – Exprator
我添加了一個編輯。 – Seio