html - 在 GOLANG 中选中或不选中复选框

标签 html go

我正在尝试使用 GOLANG 构建一个简单的 Web 应用程序。目标是,当用户选中复选框时,它必须调用 API 端点,而当用户取消选中复选框时,它必须调用另一个 API 端点。下面是我在 HTML 中定义的表单 action="p_up_dags/{{.}}" .

PS: .Result是一个字符串列表。

{{ range .Result}}
<form action="/p_up_dags/{{.}}" method="POST">
     <br>  <input id={{.}} type="checkbox" name="{{.}}" value="{{.}}" >  {{.}}
    </form>
{{end}}

GOLANG 代码:
func p_up_dags(w http.ResponseWriter, r *http.Request){
     d_name = mux.Vars(r)["name"]
    //do something to check if the checkbox is checked or not
    //Something like this
    if d_name is checked
       {
       //http.Get("blah/blah")
       }
    else
      {
       //http.Get("foo/foo")
      }
}

func main(){
     router := mux.NewRouter().StrictSlash(true)
     router.HandleFunc("/p_up_dags/{name}",p_up_dags)
}

最佳答案

我自己通过更改 action= 将它分成两部分来解决这个问题当复选框被选中和取消选中时,表单中的属性。
以下是更新后的表格 action="" .

{{range .Result}}
<form action="" name="{{.}}" method="POST">
    <label class="switch"> <input id="{{.}}" type="checkbox" class="box"  name="{{.}}" value="{{.}}"><span class="slider round"></span></label>
    <button onclick="myFunction(this.form,'{{.}}')">Pause/Unpause</button>
</form>
{{end}}

JS代码:
在这里,我们检查复选框是否已选中或未选中,然后分别更改表单操作。 if checked then action="blah/blah" else action="foo/foo"
<script>
function myFunction(form,result){
        var ch = document.getElementById(result)
        var formname = form.name;
        if(ch.checked == true){
            document[formname].action="/up_dags/"+result
        }
        else if(ch.checked == false){
            document[formname].action="/p_dags/"+result
        }
      }
</script>

GOLANG 代码:
func p_dags(w http.ResponseWriter, r *http.Request){
   d_name := mux.Vars(r)["name"]
   _, err := http.Get(foo/foo/d_name)
}

func up_dags(w http.ResponseWriter, r *http.Request){
   d_name := mux.Vars(r)["name"]
   _, err := http.Get(blah/blah/d_name)
}

func main(){
    router := mux.NewRouter()
    router.HandleFunc("/p_dags/{name}",p_dags)
    router.HandleFunc("/up_dags/{name}",up_dags)
}

关于html - 在 GOLANG 中选中或不选中复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59763556/

相关文章:

javascript - 如何创建可排序、可过滤和可编辑的 html/javascript 表格?

regex - 正面前瞻 + 重叠匹配正则表达式

go - 在每次循环迭代中重新声明 slice 是不好的做法吗?

go - 一个字符可以在 Go 中跨越多个 rune 吗?

go - Apache Beam - 使用 Go SDK 进行 API 调用的批处理元素?

html - 如何使单选按钮彼此相邻?

html - 打印时在 HTML <tfoot> 中打印页码

javascript - 为什么p标签的内容是什么都没有但长度却是1?

linux - 在 192.168.65.1 :53: cannot unmarshal DNS message 上查找 google.com

jquery - 我怎样才能制作一个粘性菜单,而不是顶部的导航栏,它是页脚上方的东西?