2016-07-05 9 views
0

私は問題があります - なぜこのコードは機能していませんか?ラジオボタン 'undefined'の値

<input type="radio" name="one" value="xxx" onclick="test()"/> 
//below in the same file 
<script> 
    function test() 
    { 
     if (this.value=="xxx") 
     { 
      alert('ok'); 
     } 
    }    
    </script> 

ラジオボタンをクリックしてもアラートはありません。ラジオボタンの値を表示しようとしましたが、 'xxx'ではなく 'undefined'と表示されています - なぜですか?

歓声

+0

:このように、クリックイベントに関数を結合、入力にIDを追加してみてくださいとラジオ "名前= "1" の値= "XXX" のonclick = "試験(本)"/> //以下同じファイル内

+0

どういう意味ですか? – Piter

+0

@ Domenico Luciani - ありがとうございました! – Piter

答えて

0
<input type="radio" name="one" value="xxx" onclick="test(this)"/> 
<script> 
    function test(radioItem) 
    { 
     if (radioItem.value=="xxx") 
     { 
      alert('ok'); 
     } 
    }    
    </script> 
0

入力がクリックされたときに関数が呼び出されますが、関数は、入力にバインドされていない、それが呼び出されたときにそうにバインドされた要素がないので、それは未定義表示されますクリックすると、クリックがトリガーされますが、thisは未定義です。

<input id="testDiv" type="radio" name="one" value="xxx" /> 
 

 
<script> 
 
    document.getElementById('testDiv').onclick = function() { 
 
    if (this.value == "xxx") { 
 
     alert('ok'); 
 
     alert(this.value); 
 
    } 
 
    } 
 
</script>

関連する問題