我想从一组单选按钮中获得选定的值。

这是我的HTML:

<div id="rates">
  <input type="radio" id="r1" name="rate" value="Fixed Rate"> Fixed Rate
  <input type="radio" id="r2" name="rate" value="Variable Rate"> Variable Rate
  <input type="radio" id="r3" name="rate" value="Multi Rate" checked="checked"> Multi Rate  
</div>

这是我的js:

var rates = document.getElementById('rates').value;
var rate_value;
if(rates =='Fixed Rate'){
    rate_value = document.getElementById('r1').value;
    
}else if(rates =='Variable Rate'){
    rate_value = document.getElementById('r2').value;
    
}else if(rates =='Multi Rate'){
    rate_value = document.getElementById('r3').value;
}  

document.getElementById('results').innerHTML = rate_value;

我一直没有定义。


当前回答

https://codepen.io/anon/pen/YQxbZJ

HTML

<div id="rates">
<input type="radio" id="x1" name="rate" value="Fixed Rate"> Fixed Rate
<input type="radio" id="x2" name="rate" value="Variable Rate" 
checked="checked"> Variable Rate
<input type="radio" id="x3" name="rate" value="Multi Rate" > Multi Rate
</div>

<button id="rdio"> Check Radio </button>
<div id="check">

</div>

JS的

var x ,y;
var x = document.getElementById("check");
function boom()
{
if (document.getElementById("x1").checked)
  y = document.getElementById("x1").value;

else if(document.getElementById("x2").checked)
  y = document.getElementById("x2").value;

else if (document.getElementById("x3").checked)
  y = document.getElementById("x3").value;
else
  y = "kuch nhi;"
x.innerHTML = y;
}

var z = document.getElementById('rdio');
z.addEventListener("click", boom);`

其他回答

这适用于IE9及以上版本和所有其他浏览器。

document.querySelector('input[name="rate"]:checked').value;

在Javascript中,我们可以通过使用Id的“getElementById()”来获取值,在上面的代码中,您发布的包含名称而不是Id 所以你需要这样修改

if (document.getElementById('r1').checked) {
  rate_value = document.getElementById('r1').value;
}

根据您的代码使用这个rate_value

下面是一种解决方案,将单选按钮放在一个常量中,只在需要时获取所选值。

Const rates = document.forms.rates.elements["rate"] showRate () 函数showRate () { . getelementbyid(的结果)。innerHTML = rates.value } <form id="rates" onchange="showRate()" > <input type="radio" id="r1" name="rate" value="Fixed rate" >固定利率 <input type="radio" id="r2" name="rate" value="可变利率">可变利率 <input type="radio" id="r3" name="rate" value="Multi rate" checked="checked"> Multi rate . > < /形式 < div id = "结果" > < / div >

如果按钮在窗体中 var myform = new FormData(getformbywhatever); myform.get(“率”); 上面的QuerySelector是一个更好的解决方案。然而,这种方法很容易理解,特别是如果你对CSS没有任何了解的话。另外,输入字段很可能是在一个表单中。 没有检查,还有其他类似的解决方案,抱歉重复了

在php中,这很简单 html页面

男性<输入类型=“收音机” 名称=“收音机” 值=“男性”><br/> 母<输入类型=“收音机” 名称=“收音机” 值=“母”><br/> 其他<输入类型=“无线电” 名称=“无线电” 值=“其他”><br/> <输入类型=“提交”值=“提交”>

从表单到php取值

$radio=$_POST['radio'];<br/>
use php if(isset($_POST['submit']))<br/>
{<br/>
echo "you selected".$radio."thank u";<br/>
}