导语:golang想获取html中多选checkbox的值,checkbox是根据传入参数改变的。不方便写死。
html中如下
<script language="javascript" type="text/javascript" name="model"
value="{{.deploypara.Model}}">
var array2 = JSON.parse("{{.deploypara.Model}}");
for (var i = 0; i < array2.length; i++) {
document.write("<p> <input type=checkbox name=vmodel value=" + array2[i] + ">" + " " + array2[i])+ "</p>";
}
</script>
后端go代码如下
func (c *TestController) DoDeploy() {
// 获取对应html传入的id信息 对应是job的id
id, err2 := c.GetInt("id")
if err2 != nil {
c.Error("参数传入错误", "/job")
return
}
beego.Info("id")
beego.Info(id)
name := strings.Trim(c.GetString("name"), "")
beego.Info("name")
beego.Info(name)
branch := strings.Trim(c.GetString("branch"), "")
beego.Info("branch")
beego.Info(branch)
model := strings.Trim(c.GetString("model"), "")
beego.Info("model")
beego.Info(model)
// 这里开始是相关代码
vmodel1 := c.GetStrings("vmodel")
beego.Info("vmodel start")
beego.Info(vmodel1)
for a, v := range vmodel1 {
//model, _ := v
beego.Info("model")
beego.Info(v)
beego.Info(a)
}
// 以上是相关代码
beego.Info("vmodel over")
version := strings.Trim(c.GetString("version"), "")
beego.Info("version")
beego.Info(version)
sonar := strings.Trim(c.GetString("sonar"), "")
beego.Info("sonar")
beego.Info(sonar)
para1 := strings.Trim(c.GetString("para1"), "")
beego.Info("para1")
beego.Info(para1)
para2 := strings.Trim(c.GetString("para2"), "")
beego.Info("para2")
beego.Info(para2)
// beego.Info(jobinfo)
c.Ctx.WriteString("DoDeploy")
// c.TplName = "user/job/test_deploy.html"
}
效果如下