2014-08-27 24 views
-4
<script> 
    function loop() 
    { 
     var input = document.getElementById('id').value; 
     //var ans; 
     for (var x = 1; x < input; x++) 
     { 
      var ans = document.getElementById('hello').innerHTML; 
     } 
    } 
</script> 
<input type="text" id="id" /> 
<input type="submit" onclick="loop()" value="isubmit"> 
<div id="hello"></div> 

我需要輸入數字文本字段然後提交它,然後它會顯示循環。出於某種原因,我只能看到白色屏幕。它什麼也沒做。Javascript輸入一個數字的形式

+1

是U確保UR腳本工作?嘗試把警報放在你的循環裏,提醒一些事情。 – NomNomNom 2014-08-27 12:18:40

+4

它應該怎麼做?你在循環中沒有做任何事...... – WeSt 2014-08-27 12:18:52

+0

你想在這裏做什麼:'var ans = ...'?你在變量ans中存儲了一些東西,不要對它做任何事情。 – 2014-08-27 12:19:38

回答

0

如果你想要做的是循環從1高達輸入的號碼減去一個,那麼你可以修改你的函數是這樣的:

function loop() { 
    var input = document.getElementById('id').value; 
    var result = document.getElementById('hello'); 
    for (var x = 1; x < input; x++) { 
    result.innerHTML += x + ' '; 
    } 
} 

檢查這個小提琴看到它在行動:http://jsfiddle.net/arnellebalane/1ysut9L3/

+0

謝謝..它的工作.. – 2014-08-27 12:27:05

0

HTML

<input type = "text" id = "input_id" /> 
<input type = "submit" id = "submit_btn" value = "isubmit"> 

<div id = "hello"> 
    ... 
</div> 

的JavaScript

function LoopOnClickEvent(input_id, button_id, result_id) 
{ 
    input = document.getElementById(input_id); 
    button = document.getElementById(button_id); 
    result = document.getElementById(result_id); 

    button.onclick = function() 
    { 
     var val = parseInt(input.value); 

     if(Number.isNaN(val) || val < 2) 
     { 
      var old = result.innerHTML; 
      result.innerHTML = "Please type a real number greater than 1"; 
      setTimeout(function(){ result.innerHTML = old; }, 1500); 
     } 
     else 
     { 
      var final_val = ""; 
      for(var cpt = 1; cpt < val; ++cpt) 
      { 
       final_val += cpt; 
      } 
      result.innerHTML = final_val; 
     } 
    }; 
} 

/* Exemple */ 
LoopOnClickEvent("input_id", "submit_btn", "hello"); 

http://jsfiddle.net/q0f4g5gr/

我希望它會幫助你:)

相關問題