如何一次运行一次循环javascript
How to run a loop once at a time javascript
我对Javascript还很陌生,有一个问题似乎无法解决。我想从同一个输入文本字段获得用户输入,然后将它们放在一个数组中。第一个输入在array[0]
位置,第二个在array[1]
位置,依此类推。我的设置如下,但我没有成功。
<!DOCTYPE html>
<html>
<head>
<title>Save Session</title>
</head>
<body>
<form>
<input type = "text" id = "testInput"></input>
<input type = "button" value = "Make Array" onClick = "makeArray()"> </input>
<input type = "button" value = "See Result" onClick = "seeResult()"></input>
</form>
<script type = "text/javascript">
function makeArray(){
var userInput = document.getElementById("testInput").value;
sessionArray = [];
for(i = 0; i < 5; i++){
sessionArray[i] = userInput;
break;
}
return sessionArray;
}
function seeResult(){
alert(makeArray())
}
</script>
</body>
这里不应该使用for循环,因为最终会得到5个相同的值。您可能希望用户能够提供5个不同的值(使用相同的输入),因此您必须确定何时添加这些值(单击按钮或任何其他事件)。
一旦确定了正确的事件,就必须在全局数组变量中推送输入值。如果您想将数组限制为5项,则在推送任何值之前检查数组长度,以确保其<5.
请注意,我没有故意提供任何代码,因为您还需要学习一些编程基础知识。。。为你写代码对你没有帮助
jsfiddle演示
html
<input type = "text" id = "testInput"></input>
<input type = "button" value = "Add Array" onclick = "addArray();"> </input>
<input type = "button" value = "See Result" onclick = "seeResult();"></input>
js
var result=[];
function addArray(){
var userInput = document.getElementById("testInput").value;
result.push(userInput);
document.getElementById("testInput").value="";
}
function seeResult(){
alert("the result array contains: "+result+"'nResults will get removed");
result=[];//empty result array
}
我想这就是你想要的。每次按下按钮时,它都会获取输入值,并将其添加到sessionArray
中,然后清除输入。
我还将代码移到了您在函数之外选择输入的位置。现在只会选择一次输入,而不是每次运行函数。
<script type = "text/javascript">
// Define vars
var sessionArray = [];
var inputEl = document.getElementById("testInput");
function makeArray(){
// Get input value
inputValue = inputEl.value;
// Add input value to array
sessionArray.push(inputValue);
// Empty input ready for next item
inputEl.value = '';
}
function seeResult(){
alert(sessionArray)
}
</script>
相关文章:
- Javascript返回值只在循环中返回一次
- For循环在Jquery中只运行一次
- 可能只在for循环内部运行一次代码块
- mongoose.js Model.remove在循环中只能工作一次
- 循环遍历数组并仅获取一次相同的值
- Jquery 循环一次或在数据数组中显示一次数据
- 一次循环遍历一组
- 如何在if循环中只执行一次
- AJAX在数组循环中调用,只在上一次完成后调用next
- 正在加载“"循环,每3秒更改一次文本
- 我怎么能有一个实时计时器,在3秒的循环内每秒钟更新一次
- 在Javascript中每五秒钟循环一次
- 如何一次运行一次循环javascript
- 使用胡须.js一次循环访问一个测验项目
- 递归 JS 函数每秒错过一次循环
- 使用 javascript 一次循环播放 4 个以上的声音
- 为什么我的循环只有一次循环,即使有3个项目
- 在下一次循环迭代之前等待promise结果
- Jquery 一次循环和绑定 10 条记录
- JavaScript在同一循环中每x次迭代一次循环