-2

重複を確認しましたが、まったく同じ問題が見つからなかったので、ここで説明します。2 つのラジオ ボタンがあり、フォームの送信時にそれらの値を返す必要があります。問題は、送信ボタンをクリックすると、常に同じラジオボタンの値が得られることです。ここにいくつかのコードがあります:

<div id="automatic">
        <p>Title1
            <input type="radio" id ="mode" name="mod" value="auto" >
        </p>           
    </div>

    <div id="selection">
        <p>Title2
            <input type="radio" id ="mode" name="mod" value="nonauto" >
        </p>           
    </div>

    <form id="search" action="test.jsp" method="GET" onsubmit="if (document.getElementById('search_text').value.length < 1) return false;">
        <input id="search_text" type="text" name="q">
        <input id="searchButton" type="submit" onclick="displayRadio()" value="Search" autocomplete="off" size="115">
    </form>

そして、ここにJavascriptコードがあります:

function displayRadio() {
        alert(document.getElementById("mode").value)
}
4

1 に答える 1

1

異なる ID を使用し、関数を使用してチェックされているものを検索し、その値を返します。

function displayRadio() {
    var modeauto = document.getElementById('modeauto');
    var modenoauto = document.getElementById('modenoauto');
    var value = modeauto.checked ? modeauto.value : modenoauto.value;
    alert(value);
}

ただし、簡単にするためにjQueryを使用することをお勧めします。

于 2013-01-23T13:08:53.370 に答える