1. ホーム
  2. ジャバスクリプト

[解決済み】選択されたラジオボタンの値を取得する方法は?

2022-03-26 19:56:41

質問

私のJSプログラムに奇妙な問題があります。ちゃんと動いていたのに、なぜか動かなくなりました。ラジオボタンの値(どれが選択されているか)を見つけて、変数に返したいだけなのです。なぜか undefined .

以下は私のコードです。

function findSelection(field) {
    var test = 'document.theForm.' + field;
    var sizes = test;

    alert(sizes);
        for (i=0; i < sizes.length; i++) {
            if (sizes[i].checked==true) {
            alert(sizes[i].value + ' you got a value');     
            return sizes[i].value;
        }
    }
}

submitForm :

function submitForm() {

    var genderS =  findSelection("genderS");
    alert(genderS);
}

HTMLです。

<form action="#n" name="theForm">

    <label for="gender">Gender: </label>
    <input type="radio" name="genderS" value="1" checked> Male
    <input type="radio" name="genderS" value="0" > Female<br><br>
    <a href="javascript: submitForm()">Search</A>
</form>

解決方法は?

このようにすればいいのです。

var radios = document.getElementsByName('genderS');

for (var i = 0, length = radios.length; i < length; i++) {
  if (radios[i].checked) {
    // do whatever you want with the checked radio
    alert(radios[i].value);

    // only one radio can be logically checked, don't check the rest
    break;
  }
}
<label for="gender">Gender: </label>
<input type="radio" name="genderS" value="1" checked="checked">Male</input>
<input type="radio" name="genderS" value="0">Female</input>

jsfiddle

編集:HATCHAさん、jpsetungさん、編集のご提案ありがとうございました。