2015-11-30 64 views
0

我不知道如何調試JavaScript代碼。 我想我有一個使用getElementById for循環的問題。JavaScript錯誤調試 - 使用for循環與getElementById

<html> 
<head> 
    <title>CGPA to Percentage calculator</title> 
    <script type='text/javascript'> 

     function addFields(){ 
      var number = document.getElementById("sem").value; 
      var container = document.getElementById("container"); 
     var pbtn = document.getElementById("percent"); 
      while (container.hasChildNodes()) { 
       container.removeChild(container.lastChild); 
      } 

     if(number>0 && number<=8){ 

       for (i=0;i<number;i++){ 
        container.appendChild(document.createTextNode("SGPA [Semeter " + (i+1)+ "] : ")); 
        var input = document.createElement("input"); 
        input.type = "text"; 
        input.name = "sem" + i; 
        container.appendChild(input); 
        container.appendChild(document.createElement("br")); 
      container.appendChild(document.createElement("br")); 
        } 

      pbtn.disabled = false; 
     } 
     else{ 
      if(number>8) 
       alert("Enter a value less than 8"); 
      else 
       alert("Enter a valid input"); 
     } 
     } 
    function percent(){ 
     var number = document.getElementById("sem").value; 
     var sum = 0.0; 
     var pcnt = 0.0; 
     for (i=0;i<number;i++){ 
      sum = parseFloat(sum) + parseFloat(document.getElementById("sem"+i).value); 
     } 
     pcent = parseFloat(sum)/parseInt(number); 
     alert(pcent); 
    } 
    </script> 
</head 
<body> 
    <div align ="center">Number of Semester (MAX [8]) : 
    <input type="text" id="sem" name="sem" value=""> &nbsp; 
    <button type="button" id="filldetails" onclick="addFields()">Fill Details</button> &nbsp; 
    <button type="button" name="percent" id="percent" onclick="percent()" disabled="disabled">Calculate %</button> 
    </br></br></br> 
    <div id="container"/> 
    </div> 
</body> 
</html> 
+0

請告訴我控制檯輸出你取它。你真的想在這裏實現 – fubbe

+0

檢查控制檯是否有錯誤。 [如何在不同的瀏覽器中打開JavaScript控制檯?](http://webmasters.stackexchange.com/questions/8525/how-to-open-the-javascript-console-in-different-browsers) – SearchAndResQ

+0

如果你在chrome按ctrl + 12打開控制檯,例如如果你想調試像addFileds()這樣的函數,只需輸入addFileds並按下回車鍵,然後點擊控制檯中的代碼,現在你可以在你的代碼中放置斷點,就像net beans和visual studio –

回答

0

我覺得你是一個名字"sem"+i產生輸入,而是由它的ID(不定義)