2016-07-30 36 views
-1

我有我的代碼工作。我試圖從文本區域合併輸入。但是變量values在每次onclick事件後都保持其值。使用Javascript清除事件後的變量

<script type="text/javascript"> 
     var values = ""; 
     var stat = new Object(); 
     stat.sum = "0"; 
     stat.sumSquare = "0"; 
     stat.grabInput = function() { 
      values = "0"; 
      var txtValues = document.getElementById("txtInput"); 
      values = txtValues.value; 
      values = values.split(" "); 
     } 
     stat.adder = function() { 
      for (i=0;i<values.length;i++){ 
       stat.sum=parseFloat(stat.sum)+parseFloat(values[i]); 
      } 
     } 
     stat.squareAdder = function() { 
      for (i=0;i<values.length;i++) { 
       stat.sumSquare=parseFloat(stat.sumSquare)+(parseFloat(values[i])*parseFloat(values[i])); 
      } 
     } 
     stat.showSum = function() { 
      stat.grabInput(); 
      stat.adder(); 
      document.getElementById("answers").innerHTML = "The sum is: "+stat.sum+"<br />"; 
     } 
     stat.showSquareSum = function() { 
      stat.grabInput(); 
      stat.squareAdder(); 
      document.getElementById("answers").innerHTML = "The squared sum is: "+stat.sumSquare; 
     } 
    </script> 
    <form action=""> 
     <fieldset> 
      <textarea id="txtInput" name="txtInput"></textarea> 
      <input type="button" value="Sum" onClick="stat.showSum();" /> 
      <input type="button" value="Square Sum" onClick="stat.showSquareSum();" /> 
     </fieldset> 
     <div id="answers"></div> 
    </form> 

我只是不知道爲什麼values = "0";不會重置回0

感謝您的幫助!

+0

'values =「0」;'正在工作,因爲它是假設工作..它最初設置'值'變量爲'0'...你從來沒有把它設置爲0 '稍後在你的代碼中.. – Rayon

回答

0

沒關係。我剛剛發現在每次onclick事件後,我沒有重置stat.sumstat.sumSquare

stat.adder = function() { 
      stat.sum = "0"; 
      for (i=0;i<values.length;i++){ 
       stat.sum=parseFloat(stat.sum)+parseFloat(values[i]); 
      } 
     } 
     stat.squareAdder = function() { 
      stat.sumSquare = "0"; 
      for (i=0;i<values.length;i++) { 
       stat.sumSquare=parseFloat(stat.sumSquare)+(parseFloat(values[i])*parseFloat(values[i])); 
      } 
     } 

現在它就像一個魅力!

0

您在每個onclick上聲明value =「0」。這就是爲什麼它保持「0」