2014-04-04 138 views
0

即时通讯在Javascript上有一个累加器问题,即时消息新到这个,所以有人可以帮我这个吗?我只是想要一个正确的答案累加器这是我的脚本,因为它只是一直给我0作为结果。计数器无法正常工作javascript

<script type="application/javascript"> 
var count=0; 
function counter(){ 
    count=count+1; 
} 
function results(){ 
alert ("The number of correct answers is "+count) 
} 
</script> 

,这是我的按钮

<input type="radio" name="p1" value="answ" onsubmit="counter()"> 

结构为正确答案

<input type="radio" name="p1" value="answ1"> 

其他选项

+0

您好!不要忘记接受答案,你甚至可以得到2代表! – SomeKittens

回答

1

onsubmit事件只适用于表单元素。你在考虑onclick。但是,最好有事件监听器。

HTML:

<button id="increment">Click Me</button> 
The counter is at <span id="counter">0</span> 

JS:

var btn = document.querySelector('#increment'); 
var ctr = document.querySelector('#counter'); 
var counter = 0; 
var increment = function() { 
    counter++; 
    ctr.textContent = counter; 
}; 

btn.addEventListener('click', increment); 

Here's a JSFiddle to play with

+0

即时通讯使用我的提交按钮上的“onclick”作为代码这一个: user3496155

+0

@ user3496155我用一些代码更新了这个问题。这有助于解释它吗? – SomeKittens

0

的onsubmit不会被触发计数器()函数。我不认为onsubmit可以在单选按钮上使用,即使点击它也不会触发onsubmit,它会触发onclick。

因为counter()永远不会被执行,所以count永远不会增加。

还要确保您的事件顺序是正确的,以便counter()将始终在results()之前触发,因为我看不到result()在您的代码中被调用的位置。

+0

对不起,我忘了把它。即时通话结果提交按钮 user3496155