如何在每次点击时为文本值添加+1?

时间:2016-06-25 13:34:21

标签: javascript onclick click

我想为文本值添加+1,但是当我点击它时不会添加任何内容...... 我认为是更新时间,但我不确定......

<input type="text" id="cliccare" value="0">
<img src="http://www.sinalphoto.com/wp-content/uploads/2012/08/no-copyright.png" class="click" onclick="clicca()"/>
punticlick = 1;
punti = document.getElementById("cliccare").value ;
function clicca() {
    punti += punticlick;
}

我真的不知道onclick上的img是否正确......

6 个答案:

答案 0 :(得分:1)

punti = document.getElementById("cliccare").value位于函数clicca之外。因此,每次点击它都不会获得新的价值

其次,因为您将添加一个,您可以直接添加punti。我没有看到任何使用第二个变量

第三,一旦更新了punti的值,就需要更新DOM的值

function clicca(){
punti = parseInt(document.getElementById("cliccare").value,10) ; // Convert to integer
punti += 1;
document.getElementById("cliccare").value=punti
}

JSFIDDLE

答案 1 :(得分:1)

你无法向punti添加punticlick,这没有任何意义:在javascript中,punti += punticlick等于punti = punti + punticlick。相反,你必须这样做:

punticlick = 0;
punti = document.getElementById("cliccare");
function clicca(){
punticlick++;
punti.value = punticlick;
}

检查小提琴:https://jsfiddle.net/jn9dqfp4/1/

答案 2 :(得分:1)

一种非常捷径(主要是气馁)的方式就像这样

&#13;
&#13;
cliccare.onclick = e => ++e.target.value
&#13;
<input type="text" id="cliccare" value="0">
&#13;
&#13;
&#13;

答案 3 :(得分:1)

你可以设置onclick属性:

的onclick = “的document.getElementById( 'cliccare')。值++”

答案 4 :(得分:0)

<input type="text" id="cliccare" value="0">
           <img src="http://www.sinalphoto.com/wp-content/uploads/2012/08/no-copyright.png" class="click" onclick="clicca()"/>
<script>               
 var pun = 1;
            punti = document.getElementById("cliccare").value ;
            function clicca(){
            punti=pun;
            document.getElementById("cliccare").value=punti;
            pun++;
            }
</script>

试试这个

答案 5 :(得分:0)

您几乎可以对任何html标记使用onclick属性,但您编写的代码段不起作用,因为在增加值后需要将该值设置回输入标记,因此您的java脚本部分将如下所示:

  <script>
      punticlick = 1;

      function clicca() {
          punti = document.getElementById("cliccare").value;
          punti += punticlick;
          document.getElementById("cliccare").value = punti;
      }
  </script>