当前位置:  开发笔记 > 编程语言 > 正文

通过ParseForm()检索表单选项id

如何解决《通过ParseForm()检索表单选项id》经验,为你挑选了1个好方法。

我试图从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")并将其保存为变量.我该怎么做?



1> icza..:

这不是HTML的

工作原理.当你- 你这样做了.你必须指定value的属性标签,不是id.您也可以指定id属性(例如,如果您想通过其ID引用标记),但这不是在提交表单时发送的内容.

提交表单时,"key"="value"将为其发送一对,并且"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

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有