html – 如何使用Golang从表单中获取多选值?

html – 如何使用Golang从表单中获取多选值?,第1张

概述我的表单中有一个多选输入,我试图在我的处理程序中获取所选的值,但我不能,我怎么能得到这些值? <form action="process" method="post"> <select id="new_data" name="new_data class="tag-select chzn-done" multiple="" style="display: none;"> <opti 我的表单中有一个多选输入,我试图在我的处理程序中获取所选的值,但我不能,我怎么能得到这些值?
<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从表单中获取多选值?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1138802.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存