<form action="process" method="post"> <select ID="new_data" name="new_data multiple="" > <option value="1">111mm1</option> <option value="2">222mm2</option> <option value="3">012nx1</option> </select></form>
我的处理程序:
func myHandler(w http.ResponseWriter,r *http.Request) { fmt.Println(r.FormValue("new_data")) // result-> [] fmt.Println(r.Form("new_data")) // result-> []}
表单序列化数据,从Js控制台中选择选项1和2:
>$('#myform').serialize() >"new_data=1&new_data=2"解决方法 您不能/不应该使用
Request.FormValue()
函数,因为它只返回1个值.使用Request.Form [“new_data”],它是包含所有值的字符串片. 但请注意,如果不调用r.FormValue(),则必须通过显式调用
Request.ParseForm()
来触发解析表单(并填充Request.Form映射). 您还有一个HTML语法错误:name属性的值未关闭,请将其更改为:
<select ID="new_data" name="new_data" multiple="" >
这是一个完整的应用程序来测试它的工作原理(错误检查ommited!):
package mainimport ( "fmt" "net/http")func myHandler(w http.ResponseWriter,r *http.Request) { if r.Method == "POST" { // Form submitted r.ParseForm() // required if you don't call r.FormValue() fmt.Println(r.Form["new_data"]) } w.Write([]byte(HTML))}func main() { http.HandleFunc("/",myHandler) http.ListenAndServe(":9090",nil)}const HTML = `<HTML><body><form action="process" method="post"> <select ID="new_data" name="new_data" multiple="" > <option value="1">111mm1</option> <option value="2">222mm2</option> <option value="3">012nx1</option> </select> <input type="submit" value="Send" /></form></body></HTML>`总结
以上是内存溢出为你收集整理的html – 如何使用Golang从表单中获取多选值?全部内容,希望文章能够帮你解决html – 如何使用Golang从表单中获取多选值?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)