0

これはhtmlの私のコードです:

<input type="radio" name="sex" id="boy" value="male" /> Boy<p></p><br>
<input type="radio" name="sex" id="girl" value="female" />Girl
<button id="fine" type="button">Submit</button>

これは私のjavascriptファイルにあります:

  var maskio = document.getElementById('boy');
  var femmna = document.getElementById('girl');
  function prima(){
   var fine = document.getElementById('fine');
   fine.onclick=chek;
  }
  function chek(){
  if((maskio.checked == false) && (femmna.checked == false)) {
    alert('lol');
    return false;
   }
  }
window.onload=prima;

問題はどこだ?実行して [送信] をクリックしても何も起こりません。なんで?

4

3 に答える 3

1

JS を次のように変更します。要素は、取得するまでに作成されていません。

function prima() {
    var fine = document.getElementById('fine');
    fine.onclick = chek;
}

function chek() {
    var maskio = document.getElementById('boy');
    var femmna = document.getElementById('girl');
    if ((maskio.checked == false) && (femmna.checked == false)) {
        alert('lol');
        return false;
    }
}

window.onload=prima;

ここをチェックしてください:jsFiddle

于 2013-07-14T10:47:42.887 に答える
0

問題はあなたのhtmlタグです。スペース「<」があり、スペースを削除すると正常に動作します...

<input type="radio" name="sex" id="boy" value="male" /> Boy
<p></p><br>
<input type="radio" name="sex" id="girl" value="female" /> Girl
<button id="fine" type="button">Submit</button>
<script>

var maskio = document.getElementById('boy');
var femmna = document.getElementById('girl');
function prima()
{
    var fine = document.getElementById('fine');
    fine.onclick=chek;
}
function chek()
{
    if(maskio.checked)
    {
        alert("You are male Eh?");
    }
    else if(femmna.checked)
    {
        alert("Femal ;)");
    }
    else if(!maskio.checked && !femmna.checked)
    {
        alert("Come on Please check something!");
    }
}
   window.onload=prima;

</script>
于 2013-07-14T10:50:04.543 に答える
-1

ラジオボタンが同じ名前の場合、それらは名前のグループに属します。つまり、グループ内で選択できるラジオボタンは 1 つだけです。両方にチェックを入れても、とにかく結果はありません!

于 2013-07-14T10:49:40.297 に答える