Javascript Java脚本从文本框中获取数组的索引数
这就是问题所在。我希望用户在数组的文本框中输入索引数。获取索引后,我希望用户从一个提示框中输入值以存储在该数组中,但该提示框会一次又一次地出现,我每次都必须单击按钮以获取输入 这是密码Javascript Java脚本从文本框中获取数组的索引数,javascript,arrays,web,Javascript,Arrays,Web,这就是问题所在。我希望用户在数组的文本框中输入索引数。获取索引后,我希望用户从一个提示框中输入值以存储在该数组中,但该提示框会一次又一次地出现,我每次都必须单击按钮以获取输入 这是密码 <!doctype html> <html> <head> <meta charset="utf-8"> <title>Untitled Document</title> </head>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<label> Enter Number of Records </label>
<input type="text" id="t1">
<input type="button" value="Enter" onClick="record()">
<h1 id="demo"></h1>
<script src="script.js" type="text/javascript"></script>
</body>
</html>
无标题文件
输入记录数
Java脚本:
var data = document.getElementById("t1").value;
function record(){
var crap = new Array(data);
for(var i=0;i<crap.length;i++){
crap[i] = prompt("Add something in my array","");
document.getElementById("demo").innerHTML += crap[i]+"<br>";
}
var data=document.getElementById(“t1”).value;
函数记录(){
var crap=新数组(数据);
对于(var i=0;i试试这个,这将解决您的问题
您刚刚声明了一个名为crap
,的数组,并且您甚至在数组填充之前就试图获取crap.length
,因此您遇到了问题。由于数据具有您的值,请尝试使用数据
值循环
函数记录(){
数据=document.getElementById(“t1”).value;
var crap=new Array(parseInt(data));//您应该在这里获取数据,因为此时crap是空的。
console.log(数据)
对于(var i=0;i在您的例子中,您正在函数外部检索数据
。因此它的值将是“未定义”的,crap
将成为一个未定义
的值的数组。因此crap.length
将始终为1
试试这个:
函数记录(){
var data=document.getElementById(“t1”).value;
var crap=[]
如果(垃圾!=未定义)
对于(var i=0;i因为您在循环中使用它,所以将对每个数组元素执行提示
。另外,您是否要输入一些内容并将其放置在数组的某个索引中,或者只需将其推到数组的末尾?我希望用户在数组的文本框中输入索引数。请澄清您到底在查找什么@SpencerWieczorek我只想输入任何东西array@user2181397我想说,用户将在文本框中输入任何数字,然后该数字将成为数组的索引让我们假设用户在数组中输入6,那么数组的索引将变成6,这样用户就可以使用提示输入6条记录并将其存储在数组中。你的意思是数组的长度将是6吗ndex是数组中的一个位置,而不是长度。为什么要将数据
放入数组中,然后在循环中覆盖它?数据只是在函数中,而不是在循环中,crap。长度
与此无关,因为此时数组是空的,请运行代码段并检查。crap=new array(data)
与crap=[data]
相同,当data
不是整数时。我的意思是您最初将crap[0]
设置为data
,然后循环的第一个元素将crap[0]
设置为对“Add something”的响应Prompta由于数据元素具有需要存储在数组中的元素数量,我已经循环了数据本身,任何方式都只基于此数据值,数组长度将被决定。