0

HTMLコード:-

<input type="radio" name="radio" id="radio" value="1" onclick="validate()"> For Yourself</input> </p></br>
    <p>
    <input type="radio" name="radio" id="radio" value="2" onclick="validate()"> For Users</input>
    </p>

そしてJavaScriptコード:-

function validate()
    {
        var btn_value=document.getElementById("radio").value;
        if(btn_value==true)
        {
            alert(btn_value);
        }

    }

さて、ラジオボタンの値を印刷しようとしているときはいつでも。常に値を1として出力します。

だから、今私はここで何が欠けているのか正確にはわかりません...

よろしくお願いします。

4

4 に答える 4

2

要素IDは一意である必要があります。HTML と JS の部分を変更し、以下を確認しました

これを試して

HTML

<p>
     <input type="radio" name="radio" id="radio1" value="1" onclick="validate(this)"> For Yourself</input> </p></br>
<p>
    <input type="radio" name="radio" id="radio2" value="2" onclick="validate(this)"> For Users</input>
</p>

Javaスクリプト

function validate(obj)
    {
        var btn_value=obj.value;
        if(btn_value==true)
        {
            alert(btn_value);
        }

    }
于 2012-11-27T06:10:49.037 に答える
1

まず、HTML で DOMID を 2 回使用しないでください。それらを削除してください....重複した名前のみを使用してください!

<input type="radio" name="radio" value="1" onclick="validate()"> For Yourself</input> </p></br>
<p>
<input type="radio" name="radio" value="2" onclick="validate()"> For Users</input>
</p>

jsを使用して、name属性を持つすべての要素をチェックしてください!

function validate() {
    var elements = document.getElementsByName("radio");
    for(var n = 0; n < elements.length; n++) {
        if(elements[n].checked === true) {
            alert(elements[n].value);
        }
    }
}

onclick でのみ検証メソッドを使用する場合は、次のように検証メソッドで dom 要素を渡すことができます。

<input type="radio" name="radio" value="1" onclick="validate(this)"> For Yourself</input> </p>

そしてあなたのjs:

function validate(domElement) {
     if(domElement.checked === true) {
            alert(elements[n].value);
        }
}
于 2012-11-27T06:13:18.623 に答える
0

これを試して

<input type="radio" name="radio" id="radio" value="1" onclick="validate(this)"> For Yourself</input> </p></br>
<p>
<input type="radio" name="radio" id="radio" value="2" onclick="validate(this)"> For Users</input>
</p>​

function validate(ele)
{
    alert(ele.value);
}​
于 2012-11-27T06:10:35.263 に答える
0
  1. ID は一意でなければなりません。同じ ID を指定するのは誤りです。
  2. ID に実行中の番号 (- radio1、radio2 など) を指定し、それらをループして、どれが選択されたかを確認できます。
于 2012-11-27T06:11:31.720 に答える