3 回答
TA贡献1809条经验 获得超8个赞
Request.FormValue
如果有多个,则仅返回第一个值。从文档:
FormValue 返回查询的命名组件的第一个值。
...
要访问同一键的多个值,请直接调用
ParseForm
然后检查Request.Form
。
TA贡献1906条经验 获得超10个赞
r.FormValue
返回选项列表中的第一个值而不是 use r.Form
,这将返回一个列表。您可以通过以下方式访问您的值 r.Form["product_image_id"]
TA贡献1943条经验 获得超7个赞
HTML
<form method="post" name="myform" action="http://localhost:8081/post" >
<input type="checkbox" name="product_image_id" value="Apple" />
<input type="checkbox" name="product_image_id" value="Orange" />
<input type="checkbox" name="product_image_id" value="Grape" />
<input type="submit">
</form>
走
// ProcessCheckboxes will process checkboxes
func ProcessCheckboxes(w http.ResponseWriter, r *http.Request) {
r.ParseForm()
fmt.Printf("%+v\n", r.Form)
productsSelected := r.Form["product_image_id"]
log.Println(contains(productsSelected, "Grape"))
}
func contains(slice []string, item string) bool {
set := make(map[string]struct{}, len(slice))
for _, s := range slice {
set[s] = struct{}{}
}
_, ok := set[item]
return ok
}
输出
橙色和葡萄复选框被选中并提交
map[product_image_id:[Orange Grape]]
2016/10/27 16:16:06 true
选中并提交 Apple 和 Orange 复选框
map[product_image_id:[Apple Orange]]
2016/10/27 16:17:21 false
- 3 回答
- 0 关注
- 190 浏览
添加回答
举报