gin获取html中radio选择的值
时间: 2023-10-08 11:14:28 浏览: 147
如果您使用的是 Golang 和 Gin 框架来处理后端的逻辑,获取 HTML 中 radio 选择的值则需要在前端页面使用 JavaScript 将选中的值传递给后端。这里提供一种示例代码:
前端 HTML 文件:
```html
<form>
<input type="radio" name="radio_name" value="value_1"> Value 1<br>
<input type="radio" name="radio_name" value="value_2"> Value 2<br>
<input type="radio" name="radio_name" value="value_3"> Value 3<br>
<button type="button" onclick="submitForm()">Submit</button>
</form>
<script>
function submitForm() {
var radios = document.getElementsByName('radio_name');
var selected_value;
for (var i = 0; i < radios.length; i++) {
if (radios[i].checked) {
selected_value = radios[i].value;
break;
}
}
fetch('/submit', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
selected_value: selected_value
})
}).then(response => {
console.log(response);
});
}
</script>
```
后端 Golang 代码:
```go
package main
import (
"fmt"
"net/http"
)
type RequestBody struct {
SelectedValue string `json:"selected_value"`
}
func main() {
router := http.NewServeMux()
router.HandleFunc("/submit", func(w http.ResponseWriter, r *http.Request) {
if r.Method != "POST" {
http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
return
}
var reqBody RequestBody
if err := json.NewDecoder(r.Body).Decode(&reqBody); err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
selectedValue := reqBody.SelectedValue
fmt.Fprintf(w, "Selected value: %s", selectedValue)
})
http.ListenAndServe(":8080", router)
}
```
这里使用 fetch API 将选中的值以 JSON 格式传递给后端的 `/submit` 接口,后端则使用 `json.NewDecoder()` 函数解析传递过来的 JSON 请求体,从而取得选中的值。
阅读全文