Gin表单处理

51 阅读1分钟

HTML表单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>多课网,听老郭讲golang</title>
</head>
<body>

    <h1>用户注册页面</h1>

    <form action="/register" method="post">

        用户名: <input type="text" name="username"><br>
        密码: <input type="password" name="password"><br>
        爱好: 
        <input type="checkbox" name="hobby" value="swiming">游泳  
        <input type="checkbox" name="hobby" value="basketball">篮球
        <br>
        性别:<input type="radio" name="gender" id="1" value="m"><input type="radio" name="gender" id="2" value="f"><br>
        城市: <select name="city">
            <option value="beijing">北京</option>
            <option value="shanghai">上海</option>
        </select>
        <br>
        <input type="submit" value="注册">
    </form>
    
</body>
</html>

Go Code

package main

import "github.com/gin-gonic/gin"

func Regsiter(c *gin.Context) {
	username := c.PostForm("username")
	password := c.PostForm("password")
	hobby := c.PostFormArray("hobby")
	gender := c.PostForm("gender")
	city := c.PostForm("city")

	c.String(200, "Username:%s, Password:%s, hobby:%s, gender:%s, city:%s", username, password, hobby, gender, city)

}

func GoRegister(c *gin.Context) {
	c.HTML(200, "register.html", nil)
}

func main() {
	e := gin.Default()
	e.LoadHTMLGlob("templates/*")
	e.POST("/register", Regsiter)
	e.GET("/register", GoRegister)
	e.Run()
}

运行结果

Username:ghz, Password:123, hobby:[swiming basketball], gender:m, city:beijing