2014-11-08 39 views
1

我有兩種形式進入模板,我如何識別每個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"){} 
     ... 

    } 

} 

感謝

回答

1

是否有可能在後處理代碼中獲取表單名稱?

我不認爲這是可能的,但您可以在另一個隱藏的輸入字段中發送表單名稱。

相關問題