2014-08-27 25 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/

我希望它会帮助你:)

相关问题