0

選択したラジオボタンの値でアラートを作成しようとしていますが、選択したものに関係なく、常に最初のものを取得します...(Acompanhado);

html:

          <form/>

          <input type="radio" class="simple_form" name="grupo_1" value="Acompanhado" id="saida"/>
          <span class="texto">Acompanhado</span>
          <input type="radio" class="simple_form" name="grupo_1" value="Individual" id="saida"/>
          <span class="texto">Individual</span>
          </form>

js:

           function save() {
       var saida_js = document.getElementById('saida').value;
       alert("Tipo de saida: " + saida_js);
           }

何か案が ?


@クエンティン:フォームからすべてのデータを取得しようとしているため、アラートがたくさんあります。あなたのコードを使用しましたが、まったくアラートが表示されません。

function save() {
    var morada_js = document.getElementById('morada').value;
    var data_js = document.getElementById('data').value;
    var hora_js = document.getElementById('hora').value;

    var radio_saida = document.getElementsByName('name_saida');

    var notas_js = document.getElementById('notas').value;
        var condicoes_atm_js = document.getElementById('condicoes_atm').value;


    alert("Morada: " + morada_js);
    alert("Data: " + data_js);
    alert("Hora: " + hora_js);

        function get_checked_radio(radio_saida) {
        for (var i = 0; i < radio_saida.length; i++) {
            var current = radio_saida[i];
            if (current.checked) {
                return current;
                }
            }
        }

    alert(get_checked_radio(radio_saida).value);
    alert("Notas: " + notas_js);

}
4

2 に答える 2

2

はドキュメント内で一意であるid必要があります。

グループ内の選択されたラジオ ボタンの値を見つけるには、その名前でグループを取得します…</p>

var radios = document.getElementsByName('radio_name'); // or
var radios = document.forms.formId.elements.radio_name;

checked次に、 trueプロパティを持つものが見つかるまでそれらをループします。

function get_checked_radio(radios) {
    for (var i = 0; i < radios.length; i++) {
        var current = radios[i];
        if (current.checked) {
            return current;
        }
    }
}

alert(get_checked_radio(radios).value);
于 2012-11-12T16:58:23.043 に答える
0

input同じIDのタグが2つあるので、意味がありますsaida

于 2012-11-12T16:56:48.967 に答える