0

ラジオボタンを1つチェックすると、falseオプションが返され、値が返されるはずです

<form name="formulario" action="accion.php" method="post">
    <input type="radio" name="opcion" value="1">Opcion 1
    <input type="radio" name="opcion" value="2">Opcion 2
    <input type="button" name="Enviar" value='eviar' onclick="enviar();">
</form>
<script>
function enviar(){
    var di = document.getElementsByName('opcion');
    for(i=0; i <di.length; i++){
        if(di[i].checked==true){
            valorSeleccionado = di[i].value;
            alert(valorSeleccionado);
        }
        if(di[i].checked==false){
            alert('you didn´t choose a option');
        }
    }
}
</script>
4

3 に答える 3

7

代わりにこれを試してください:

function enviar() {
    var di = document.getElementsByName('opcion');
    var valid = false;
    for (i = 0; i < di.length; i++) {
        if (di[i].checked == true && !valid) {
            valorSeleccionado = di[i].value;
            valid = true;
            alert(valorSeleccionado);
        }
    }
    if (!valid) {
        alert('you didn´t choose a option');
    }
}

jsFiddle の例

単純にラジオ ボタンを実行し、チェックされているかどうかをチェックします。そうであれば、フラグを設定して値を警告し、そうでなければエラーを警告します。

于 2013-02-25T18:17:05.140 に答える
0

どのラジオが選択されているかを知るには、「opcion」要素の値を確認する必要があります。チェックされたプロパティはラジオでは機能せず、チェックボックスでのみ機能すると思います。

于 2013-02-25T18:10:19.033 に答える
0

html の前に JS 関数を配置する必要があります。さらに、あなたの検証は本当に正確ではありませんでした..

修正されたコードは次のとおりです。

<script type="text>
function enviar(){
    var valorSeleccionado = '';
    var di = document.getElementsByName('opcion');
    for(i=0; i <di.length; i++){
        if(di[i].checked==true) {
            valorSeleccionado = di[i].value;
        }
        if(valorSeleccionado) {
            alert(valorSeleccionado);
        } else {
            alert("you didn't choose an option");
        }
        }
}
</script>

<form>
    <input type="radio" name="opcion" value="1" />Opcion 1
    <input type="radio" name="opcion" value="2" />Opcion 2

    <input type="button" value="eviar" onclick="enviar();" />
</form>
于 2013-02-25T18:17:54.710 に答える