我有一個頁面,動態添加文本框,並在動態添加的文本框中,我想訪問相關的上下文變量。 爲此,我需要使用JavaScript代碼/模板代碼中的'i'變量來引用上下文中的值。 這裏是我的javascript代碼,我需要用 '我' 作爲一個上下文列表索引:Django引用Javascript變量在服務器端模板代碼
<script>
var i = 2
function add_field()
{
var table = document.getElementById("tbl_location").getElementsByTagName('tbody')[0];
var input_name = document.createElement("th")
input_name.appendChild(document.createTextNode("S/N " + i))
var input_tb = document.createElement("td")
var input = document.createElement('input');
input.setAttribute("name", "sn" + i);
{% if curr_sn.i %}
input.setAttribute("value", {{ curr_sn.i }});
{% endif %}
input_tb.appendChild(input)
var input_row = document.createElement("tr")
input_row.appendChild(input_name)
input_row.appendChild(input_tb)
table.appendChild(input_row);
i++;
}
的具體線路是:
{% if curr_sn.i %}
input.setAttribute("value", {{ curr_sn.i }});
{% endif %}
其中 'i' 是一個javascript veriable,而curr_sn是python代碼給出的上下文列表。
HTML部分,我需要用「我」:
{% for i in max_board_list %}
{% if curr_sn.i %}
<tr>
<th>S/N {{ i }}</th>
<td><input type="text" name="sn{{ i }}" value="{{ curr_sn.i }}"></td>
</tr>
{% endif %}
{% endfor %}
這裏「我」是由產生的for循環,但我仍然需要訪問相同的列表。
我該如何在兩部分代碼中做到這一點?所有我可以找到相反的方式已經適用於我(在JavaScript代碼中使用Django模板)。
感謝
編輯: JavaScript的身邊,我發現了一個解決方案(因爲我注意到,反正我的代碼是多餘的,並試圖做類似的事情在JS & HTML)。對於JavaScript的一部分,我用:
{% if curr_sn|length > 1 %}
i = {{ curr_sn|length }}
{% endif %}
只是爲了保持計數從板的當前數目。 現在我需要解決html部分以顯示上下文變量中保存的板子curr_sn
說實話我很難理解你的問題。謹慎闡述? – Y2H
我有一個頁面,可以接受不同數量的板名輸入(默認爲顯示1行,並且用戶可以通過單擊鏈接到add_field()函數的按鈕來添加更多字段。當用戶提交表單時,如果出現錯誤,我想在它們各自的文本框中保留它的名稱,我嘗試這樣做的方法是在名爲'curr_sn'的上下文中將名稱保存在python側面代碼中。回到html代碼中,我想檢查一下,如果列表中當前主板的值存在,我想顯示它。js&html部件都不適用於我 – Jonathan