2015-03-01 6 views
0

Я пытаюсь получить onclick событие в html-переключателях для вызова функции в программе JavaScript.радио кнопка onclick событие не работает

Когда я с помощью кнопки, она работает:

HTML5:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    ... 
    <script src="index.js"></script> 
    ... 
    </head> 
    <body> 
    <button type="button" class="btn btn-default" onclick="clickedButton1()">Button1</button> 
... 
    </body> 
</html> 

JavaScript (в index.js):

function clickedButton1() { 
    console.log("clickedButton1") 
} 

Но когда я использую кнопку радио, OnClick делает не вызывайте эту функцию:

HTML5 (в том же файле выше):

<section id="radioButtons"> 
    <form action="" method="post" name="radioButtons" id="radioButtons"> 
     <div class="btn-group" data-toggle="buttons"> 
      <label class="btn btn-primary active"> 
       <input type="radio" name="radios" id="radio1" onclick="test()"> Yes 
      </label> 
      <label class="btn btn-primary"> 
       <input type="radio" name="radios" id="radio2" onclick="test()"> No 
      </label> 
     </div> 
    </form> 
</section> 

Javascript (в index.js):

function test() { 
    console.log ("test") 
} 

Что случилось с моим кодом? Любая помощь?

+0

OnClick = "тест", чтобы OnClick = "тест()" –

+0

забыл написать круглые скобки 'OnClick = "тест()"'. Но даже если я их добавлю, это не сработает ... – yzc15

+0

Я редактировал свои ошибки выше. – yzc15

ответ

0

Вам необходимо позвонить по телефону test. Так что это onclick="test" должно стать

onclick="test()" 

Это не достаточно просто ссылаться на функцию, необходимо вызвать его с () оператором.

0

Вы не указали круглые скобки. Положить onclick="test()" вместо

0

Добавить точку с запятой в конец строки console.log ("test");

0

Функция JavaScript может быть вызвана без вызова. Пожалуйста, см. this

0

Я думаю, что ваш javascript загружается, прежде чем ваш html готов, вы можете решить эту проблему, используя свой код в теге teg, или вы можете использовать window.onload в файле index.js. Попробуйте код, я думаю, это будет работать.

function test() 
{ 
    alert("Hi"); 
} 


window.onload = function() 
{ 
    document.getElementById("radio1").onclick = test; 
};