我试图从HTML表单下拉列表中获取选项值id.
假设我的HTML文件中有这些行:
这在我的Go文件中:
func filmFunc(w http.ResponseWriter, r *http.Request) { r.ParseForm() film_raw := r.Form["film"] film := film_raw[0] ... }
这将给我来自option("Godfather"
)的文本,但我需要获取选项id("1"
)并将其保存为变量.我该怎么做?
这不是HTML的工作原理.当你
在a中使用a 时
,你必须指定
name
属性- 你这样做了.你必须指定
value
的属性标签,不是的
id
.您也可以指定id
属性(例如,如果您想通过其ID引用标记),但这不是在提交表单时发送的内容.
提交表单时,"key"="value"
将为其发送一对,其中
"key"
将是name
属性的值,并且
"value"
将是所选value
属性的值.
您可以使用其名称获取提交的表单字段的值Request.FormValue()
,请注意,Request.Parseform()
如果需要,这也会调用,以便您甚至可以省略该调用.
看这个工作示例:
func formHandler(w http.ResponseWriter, r *http.Request) { if selectedFilm := r.FormValue("film"); selectedFilm != "" { log.Println("Selected film:", r.FormValue("film")) } w.Write([]byte(html)) } func main() { http.HandleFunc("/", formHandler) log.Fatal(http.ListenAndServe(":8080", nil)) } const html = ``
选择"The Godfather"
并提交时,控制台显示:
2015/12/05 21:18:42 Selected film: 1
选择"The Godfather: Part II"
并提交时,控制台显示:
2015/12/05 21:18:45 Selected film: 2