getElementsByName 的应用-获取radio button组的选择值

本文介绍如何使用JavaScript的getElementsByName方法来获取一组具有相同name属性的radiobutton的选中值。通过示例代码展示了具体实现过程,适用于前端开发人员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

getElementsByName用来获取name一样的一组元素。
应用:
获取一组radio button 的选中值。
例子如下:
<html>
<head>
  
<title>getElementsByName Sample</title>
  
<script type="text/javascript" language="javascript">
    
function getColor() {
      
var oColors = document.getElementsByName("rdColor");
      
var color = "";
      
for (var i=0;i<oColors.length;i++) {
        
        
if (oColors[i].checked) {
          color 
= oColors[i].value;
          
break;
        }
      }
      
if (color == "")
        alert(
"Please choose a color!!");
      
else
        alert(
"Your favorite color is: " + color);
    }
  
</script>
</head>
<body>
  
<form action="javascript:getColor();" method="post">
    
<fieldset>
      
<legend>What color do you like?</legend>
      
<input type="radio" name="rdColor" value="red" /> Red <br />
      
<input type="radio" name="rdColor" value="green" /> Green <br />
      
<input type="radio" name="rdColor" value="blue" /> Blue <br />  
    
</fieldset>
    
<input type="submit" value="Submit" />
  
</form>
</body>
</html>
如果您使用的是 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 请求体,从而取得选中的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值