[英]using javascript in a django template
我有一個有效的javascript文件,該文件使用元素ID標記在html頁面上添加和刪除復選框以及下拉列表。 我想將javascript代碼應用於django應用程序正在生成的表單。 我試圖通過如下更改javascript元素ID來隱藏字段,
id1.style.visibility = 'hidden';
匹配django生成的表單上的元素,但javascript無效,並且該字段仍然可見。
在我的django模板html文件中,我包含了django提供服務的站點中的js文件。
<head>
<script type="text/javascript" src="/static/js/submitform.js"></script>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
我可以在模板頁面的源代碼中看到上面的js文件,並且可以單擊鏈接並查看javascript代碼。 所以我知道javascript文件包含在模板中。
我已經完成了與CSS文件相似的操作,並且該操作在模板頁面上生效,但是我無法正確應用JavaScript。
我已經為此苦苦掙扎了一段時間,之前從未做過。 誰能提供幫助或知道我可以閱讀的任何文檔,這些文檔向我展示了如何執行此操作?
抱歉,如果這不是一個適當的問題,但之前沒有做過,而我只是停留在此上。.我正在從事的項目是用於內部測試站點的,因此我現在不擔心壓縮js文件給客戶或我可能接觸到的任何注射。.只是了解如何做到這一點。
謝謝-奧利
您需要先包含Jquery庫,然后再包含jquery文件,因此將其交換為以下內容:
<head>
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
<script type="text/javascript" src="/static/js/submitform.js"></script>
</head>
編輯:
此外,jquery庫的腳本標記中缺少“ type”屬性。 我已經更新了代碼,看看。
您可以這樣做:
#html
{% block main-menu %}
<br>
<br>
Click here to play with username
<button id="show_button">show</button>
<button id="hide_button">hide</button>
<br>
<br>
<script type="text/javascript">
$(function() {
$("#show_button").click(function() {
$("#id_username").show();
});
$("#hide_button").click(function() {
$("#id_username").hide();
});
});
</script>
<div class="contentarea">
<form method="post" action="">{% csrf_token %}
{{ reg_form.as_p }}
<input type="submit" value="register" />
</form>
</div>
#forms.py
class RegistrationForm(forms.Form):
username = forms.CharField(label="Username", max_length=30)
email = forms.EmailField(label="Email")
password = forms.CharField(label="Password", widget=forms.PasswordInput())
password2 = forms.CharField(label="Password (Again)", widget=forms.PasswordInput())
Here your clean methods and so on
Django會自動為您的字段(例如id_yourfield)創建一個ID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.