从唯一的模板处理多个表单

我在一个模板中有两个表单,如何识别每个 html 表单以便将其处理到我的处理程序中?

是否可以在后处理程序代码中获取表单名称?


我正在使用 nosurf,因此我必须在同一个请求中生成和检查令牌,也许我做错了..


    <form action="/form" method="post" name="form1">

         <label class="control-label">Set A</label>

            <div class="controls">

                <input type="text" id="my" name="my">

            </div>

      <div style="display:none;">

      <input name="_formkey" type="hidden" value="{{.token}}">

      </div>            

    </form>


    <form action="/form" method="post" name="form2">

         <label class="control-label">Set thing</label>

            <div class="controls">

                <input type="text" id="thing" name="thing">

            </div>

      <div style="display:none;">

      <input name="_formkey" type="hidden" value="{{.token}}">

      </div>            

    </form>

我的处理程序


func myHandler(w http.ResponseWriter, r *http.Request) {

    switch r.Method{

    case "GET":

        data:=map[string]interface{}{

            "key":nosurf.Token(req),

        }

        if err := renderTemplate(w, "base", data); err != nil {

            log.Error(err)

        }


    case "POST":

        // how?

        if r.FormValue("my"){}

        ...

        if r.FormValue("thing"){}

        ...


    }


}

谢谢


杨__羊羊
浏览 127回答 1
1回答

繁华开满天机

是否可以在后处理程序代码中获取表单名称?我认为这是不可能的,但是您可以在另一个隐藏的输入字段中发送表单名称。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go