表单POST中的HTML复选框

表单POST中的HTML复选框,html,Html,vI我正在使用HTML,并且有一个带有一组复选框的表单: -> What are your favorite colors? ---> Red ---> Green ---> Blue 说我选中了,红色和绿色。在表单帖子中,我希望它看起来像:“最喜欢的颜色”:[“红色”、“绿色”]。现在,它只显示其中一种颜色,即使我选择了多个。以下是一些示例代码: 红色 绿色 蓝色 为所有输入type=“checkbox”元素的名称属性赋予相同的值,然后复选框中的值将作为一个名称的

vI我正在使用HTML,并且有一个带有一组复选框的表单:

-> What are your favorite colors?
---> Red
---> Green
---> Blue
说我选中了,红色和绿色。在表单帖子中,我希望它看起来像:
“最喜欢的颜色”:[“红色”、“绿色”]
。现在,它只显示其中一种颜色,即使我选择了多个。以下是一些示例代码:


红色
绿色
蓝色

为所有
输入type=“checkbox”
元素的
名称属性赋予相同的值,然后复选框中的值将作为一个名称的单个值提交。在大多数服务器端环境中,这意味着如果您请求该表单值,您将通过单个表单字段请求获得所有值。

试试这段代码,这就是您要寻找的吗

$('form')。在(“change”,function()上{
让favoriteColor=[]
$(“表单输入[type='checkbox'])。每个(函数(){
if($(this).prop(“选中”)==true){
favoriteColor.push($(this.val())
}
})
console.log(favoriteColor)
})

绿色

红色
蓝色
通过:

对于具有多个值的多选项或内联线(一对多字段),请使用.getlist():

因此:


你能提供代码吗?在最后给出你的复选框名
[]
,它将作为一个数组提交给服务器
name='favorite-color[]'
@imvain2这根本不是真的。所有复选框都将包含在表单数据中(假设定期提交表单,您已经标记了此项,但“代码”中没有任何JS(或HTML!))。如何在服务器端代码中将提交的数据表示为数组取决于您使用的服务器端语言/框架。@ScottMarcus我的意思是PHP在发布时将其作为数组处理。否。在正常情况下,它将作为
favorite color=red&favorite color=green
提交。那么您建议OP更改什么?因为听起来他们已经在这么做了。@Quentin我对OP正在做的事情没有任何印象。我更希望它只是改变表单帖子。有办法吗?谢谢!对它进行了测试,它成功了。有没有办法在表单POST中自动执行此操作?否则,我需要遍历表单POST中的每个键,检查它是否映射到复选框问题,然后使用此代码。这有意义吗?我不知道。我已经十年没用Django了。好的,谢谢你的帮助!!既然我的答案更好了,你介意投票吗?我有一个附带的问题:你知道如何让小组成为必需的吗?意味着必须至少选择一个?谢谢
request.POST.getlist("color")