小编典典

在不使用“ Id”但使用“ name”的情况下获取选定的收音机

ajax

我试图通过使用“
document.getElementByName(’nameOfradio’)”来选择单选按钮,因为所有单选按钮都共享相同的名称。但是,什么也没发生。我尝试使用document.getElementById(’nameOfradio’)进行相同的操作,并且运行良好。但是,我必须为所有单选按钮提供唯一的ID。因此,当我有20个单选按钮时,它变得很难看。结果,我想要的是捷径。我如何通过使用其“名称”获得所选单选按钮的值?代码;

HTML

<input type="radio" name="nameOfradio" value="onm1" /> 1
<input type="radio" name="nameOfradio" value="onm2" /> 2

<input type='button' onclick='radio3()' value='Submit' />
</form>

Ajax(radio3()的相对部分)

var radioPushed = document.getElementByName('nameOfradio').value;

var queryString = "?radioPushed=" + radioPushed;//to send the value to another file
ajaxRequest.open("GET", "radio_display.php" + queryString, true);
ajaxRequest.send(null);

正如我所说的document.getElementById可以工作,但是它需要太多的工作:(我如何通过使用单选按钮的通用功能而不是给它们唯一的ID来使其更简单?为什么我不能使它简短说明一下将非常有帮助(
javascript和ajax的新功能)


阅读 241

收藏
2020-07-26

共1个答案

小编典典

演示:http//jsfiddle.net/majidf/LhDXG/

标记

Sex:<br/> 
<input type="radio" name="gender" value="male" /> Male<br/>
<input type="radio" name="gender" value="female" /> Female
<br/>
Age group:<br/> 
<input type="radio" name="ageGroup" value="0-3" /> 0 to 3<br/>
<input type="radio" name="ageGroup" value="3-5" /> 3 to 5<br/>
<input type="radio" name="ageGroup" value="5-10" /> 5 to 10<br/>

<button onclick="getValues();">Get values</button>

JS

function getRVBN(rName) {
    var radioButtons = document.getElementsByName(rName);
    for (var i = 0; i < radioButtons.length; i++) {
        if (radioButtons[i].checked) return radioButtons[i].value;
    }
    return '';
}

function getValues() {
    var g = getRVBN('gender');
    var a = getRVBN('ageGroup');
    alert(g + ' ' + a);
}
2020-07-26