使用javascript数组填充隐藏字段

时间:2018-03-21 12:01:55

标签: javascript django forms

我正在使用django向这样的表格中的玩家提交图形/标题列表......

<table>

    {% for title in titles %}

    <tr><form action="{% url 'show_title' %}" method="POST">
    {% csrf_token %}

    <td width="1%"><input type="image" src="{% static 'css/img/CG-Play.png' %}" border="0" alt="Submit" /></td>
    <td width="20%">{{title.name }}</td><td width="78%">{{title.occupation }}</td>
    <td><input type="checkbox" class="delete" name="delete" value="{{ title.id }}" /></td>
    <input type="hidden" name="f0" value="{{ title.name }}" />
    <input type="hidden" name="f1" value="{{ title.occupation }}" />
    </tr>
    </form>
    {% endfor %}

</table>
每个表单中包含的

是提交图像/按钮,可将隐藏字段中的正确信息发送给播放器。还包括一个带有“删除”类的复选框,我想以另一种形式访问该复选框以删除所选/已检查的标题。

由于HTML布局,删除表单位于不同的位置,因此我想使用javascript收集上面表单中的“{{title.id}}”数据,并将数据发送到形式为Nr的隐藏字段。 2

<form action="{% url 'delete_titles' %}" method="POST">
    {% csrf_token %}
    <input type="hidden" id="input_form_1" name="java_array" value="java_values" />
    <button type="submit" class="actionbutton deletebutton" name="delete_titles" onclick="return confirm('Delete (' + $(':checkbox:checked').length + ') title(s) - Are you sure?')" >Delete Titles</button>
 </form>

我尝试使用这样的脚本加载到标题中,几乎可以完成我想要的操作,但是当我刷新页面时它只会更新数组。

<script type="text/javascript">
$(document).ready(function() {
    var java_values = [];
    $(".delete:checked").each(function(){
        java_values.push($(this).val());
    });
    $('#input_form_1').val(JSON.stringify(java_values));
    console.log(java_values);
});
</script>

如何更新数组中的值?

1 个答案:

答案 0 :(得分:0)

您可以将title.id存储为会话变量。

request.session['title_id'] = title.id

此处有更多信息:(https://docs.djangoproject.com/en/2.0/topics/http/sessions/)[https://docs.djangoproject.com/en/2.0/topics/http/sessions/]