![](/img/trans.png)
[英]why my webpage is refreshing when i am calling a JavaScript function in my aspx page on a html image click event?
[英]why Click event is not calling my function
我不知道为什么click
事件没有调用btn()
函数。
function btn() { var radio = document.getElementsByTagName("input"); for (var i = 0; i > radio.length; i++){ if (radio[i].checked){ alert(radio[i].value); } else{ alert("lol"); } } }
<input name="r" value="1" type="radio"> <input name="r" value="2" type="radio"> <input name="r" value="3" type="radio"> <button onclick="btn()">hm</button>
我不知道为什么点击事件没有调用btn()函数。
就是因为它存在逻辑错误,所以它永远不会进入循环
for (var i = 0; i > radio.length; i++){
i
从不比radio.length
。 那应该是一个小于符号
for (var i = 0; i < radio.length; i++){
检查这一行:
for (var i = 0; i < radio.length; i++){
function btn() { var radio = document.getElementsByTagName("input"); for (var i = 0; i < radio.length; i++){ if (radio[i].checked){ alert(radio[i].value); } else{ alert("lol"); } } }
<input name="r" value="1" type="radio"> <input name="r" value="2" type="radio"> <input name="r" value="3" type="radio"> <button onclick="btn()">hm</button>
您的处理程序确实在运行,它的for循环是错误的。 当您拥有i > radio.length
,它永远不会迭代,它应该是i < radio.length
。
我还要添加使用html onclick
绑定事件,这不是一个好主意。 最好使用addEventListener
。
document.getElementById('goBtn').addEventListener('click', btn);
这使您可以更好地控制已绑定的事件,可以轻松删除它们并为同一事件添加多个事件。
请参阅小提琴: http : //jsfiddle.net/j375r0gs/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.