Я решил эту проблему сам, разбив ее на две части, изменив атрибут 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)
}