在我的页面上,我有一个包含“添加行”按钮的表,因此用户可以根据需要添加更多行。通过克隆表中的最后一行来添加该行。在该行中,我想放置两个复选框。
<td class = ''> <input class = '' type='checkbox' name ='installed_by_cm' value='1'/> </td>
<td class = ''> <input class = '' type='checkbox' name ='installed_after_cm' value='1'/> </td>
这意味着有多个带有相同“名称”标记的复选框,这是我稍后在代码中进行数据处理所需要的。我使用烧瓶request.form.getlist()
来获取python后端中的信息。
由于复选框的默认类型为none,我不能使用隐藏的输入,因为它将始终由请求收集,因此我无法找到一种方法使复选框在选中时发送1,在未选中时发送0 。任何帮助将不胜感激。
答案 0 :(得分:3)
最简单的方法,不需要javascript,只需在复选框前放置一个隐藏的输入即可:
if(state == [1,2,a,b])
action1();
if(state == [1,3,c,d])
action2();
if(state == [2,4,e,f])
action1();
if(state in [[1,2,a,c], [1,5,g,g]])
action1();
//etc...
输入名称必须相同。如果选中此复选框,则将提交值1,否则将从隐藏的输入中提交值0。
您的案例javascript解决方案,不需要隐藏的输入:
<input type="hidden" name="check[0]" value="0" />
<input type="checkbox" name="check[0]" value="1" />