2015-04-18 2 views
0

Я пытаюсь подсчитать, сколько раз нажата кнопка, однако я не думаю, что это правильно, потому что кнопка count продолжает увеличиваться, даже если «Saying Hello» 'не нажатаJavaScript - подсчитайте, сколько раз нажата кнопка (функция)

Любые мысли?

<!DOCTYPE html> 

<html> 
    <head> 
     <title>JSExample</title> 
    </head> 

    <body> 

     <script type="text/javascript"> 
      function hello() { 
       alert("Hello there!"); 
      } 

      var countClicks = 0; 

      function upCount() { 

       if(document.getElementById('hello').onclick = "hello()") { 
        countClicks++; 
        alert(countClicks); 
        return true; 
       } else { 
        return false; 
       } 

      } 

     </script> 

     <p><input type="button" name="button" value="Saying Hello" id="hello" onclick="hello();"/></p> 

     <p><input type="button" name="click" value="Counting" id="click" onclick="upCount();"/></p> 

    </body> 

</html> 

ответ

1

Y, я не совсем понимаю вашу проблему. Прямо сейчас, нажимая «Saying hello», вы вызываете функцию «hello()», которая выводит сообщение «Hello there». При нажатии кнопки «Подсчет» вы проверяете очень странное состояние, которое я точно не понимаю, а затем увеличиваю значение. Итак, если вы хотите подсчитать, сколько раз «поздоровалось» было нажато, а затем представить его кнопкой «Подсчет», используйте этот код.

<!DOCTYPE html> 

<html> 
 
     <head> 
 
      <title>JSExample</title> 
 
     </head> 
 
    
 
     <body> 
 
    
 
      <script type="text/javascript"> 
 
       function hello() { 
 
        alert("Hello there!"); 
 
    \t \t \t countClicks++; 
 
       } 
 
    
 
       var countClicks = 0; 
 
    
 
       function upCount() { 
 
    \t \t \t \t alert(countClicks); 
 
       } 
 
    
 
      </script> 
 
    
 
      <p><input type="button" name="button" value="Saying Hello" id="hello" onclick="hello();"/></p> 
 
    
 
      <p><input type="button" name="click" value="Counting" id="click" onclick="upCount();"/></p> 
 
    
 
     </body> 
 
    
 
    </html>

Если это не то, что вы имели в виду, пожалуйста, дайте мне знать :)

+0

Да, вот именно то, что я хочу, спасибо большое! Кажется, я не вызывал переменную CountClicks внутри с вызовом «Hello There» – GDesigns

0
if(document.getElementById('hello').onclick == "hello()") 

вы пропустили один =

+0

Это не показалось работать, я не получаю никакого ответа так – GDesigns

0

Условие if(document.getElementById('hello').onclick = "hello()") { не является правильным. Я не уверен, что он должен делать, но знаю, что он делает: он присваивает строку hello() обратному сообщению hello.onclick. Поскольку String не может быть выполнен (в отличие от Function), он эффективно удаляет обратный вызов. Вы, вероятно, хотите что-то вроде этого

var countClicks = 0; 
 

 
function hello() { 
 
    alert("Hello there!"); 
 
    countClicks++; 
 
} 
 

 
function upCount() { 
 
    alert(countClicks); 
 
}
<p><input type="button" name="button" value="Saying Hello" id="hello" onclick="hello();"/></p> 
 
<p><input type="button" name="click" value="Counting" id="click" onclick="upCount();"/></p>

Смежные вопросы