【发布时间】:2020-05-06 05:53:39
【问题描述】:
我在一个表中有一些具有相同标签名称的值:
{% for groups in groupList %}
<tr>
<td id="checkboxes">
<input type="checkbox" name="check" id="check_{{groups.GroupID}}">
</td>
<tr>
{% endfor %}
但是,我希望这些数据位于其他位置,以便可以在表单中将其用于 POST 请求。这是我的表单 HTML:
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<button type="submit" name="create"> Create Report for Selected Items </button>
<input type="hidden" name="selected" value="" />
</form>
我一直在尝试使用 JavaScript 将值从 check 转移到 selected。这是我目前所拥有的:
function getChecked()
{
var checked = document.getElementsByName("check");
var i = 0;
for (a in checked)
{
document.getElementsByName("selected")[i].value = a.value;
i = i + 1;
}
}
我检查了 Google Chrome 控制台并收到此错误:
Uncaught TypeError: Cannot set property 'value' of undefined
at getChecked (1:75)
突出显示这一行:
document.getElementsByName("selected")[i].value = a.value;
我不确定我在哪里出错了。谁能帮帮我?
【问题讨论】:
-
听起来你的
checks 比selecteds 多(而且,你可能想访问checked的a属性,而不是checked.value- 考虑使用更精确的变量名或类型检查器) -
试试
for (a of checked)。使用of关键字可以让您循环遍历数组或节点列表,而不是用于对象的in。 -
这似乎与 Django 无关。请使用
[<>]sn-p 编辑器发布minimal reproducible example,仅使用纯 HTML 和脚本。 -
@mplungjan 它是一个 Django 模板,如 for 标签所示。我将它包含在这个问题中,因为可能有使用视图/模板的潜在解决方案。
-
我想使用 JavaScript 将值从 check 转移到 selected 中。
标签: javascript html arrays django forms