簡體   English   中英

在Django模板中使用javascript

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM