好吧,我想将文本框中的值添加到数组中,我试过了,但是只能添加一个值,为什么?如果有可能,那我怎么能做到呢? 在我尝试过的代码下面,
<script type="text/javascript">
var x = 0;
var y = 0;
var array = Array();
function addintoarray() {
array[x] = document.getElementById("cuna").value; //create the array for to add custumer name
array[y] = document.getElementById("cuad").value; //create the array to add custemer address
alert("Custmername: " + array[x] + "Added" + "Custmeraddress: " + array[y] + "Added"); //display msg
x++; //count increament to add another one
y++;
document.getElementById("cuna").value = "";
document.getElementById("cuad").value = "";
}
</script>
表
<form method="post">
<table border="1">
<tr>
<td>CustmerName</td>
<td><input type="text" id="cuna" /></td>
</tr>
<tr>
<td>CustmerAddress</td>
<td><input type="text" id="cuda" /></td>
</tr>
<tr>
<td><input type="submit" value="Add" onclick="addintoarray();" />
</td>
<td><input type="Submit" value="Display" onclick="displayintoarray" /></td>
</tr>
</table>
</form>
答案 0 :(得分:3)
您正在将x
和y
都初始化为0
,因此,每次执行array[x] =
或array[x] =
时,都将索引为{{1 }}。如果要添加项目,可以使用JavaScript's array.push()方法。
使用JavaScript对象存储值 由于我注意到您想继续添加到阵列中,因此应考虑使用对象将数据分组到阵列中。 `var myArray = Array();
0
答案 1 :(得分:2)
您应该做的是更改x和y的值。
var x = 0;
var y = 1;
var array = Array();
然后这将起作用。
array[x] = document.getElementById("cuna").value;
array[y] = document.getElementById("cuad").value;
但是我认为您不需要这样做。您可以使用数组push方法。
array.push(document.getElementById("cuna").value)
array.push(document.getElementById("cuad").value)
答案 2 :(得分:0)
您将x,y用作具有相同值的索引,因此彼此替换。 您先分配array [x],然后分配array [y],这意味着在初始情况下
array[0]=document.getElementById("cuna").value;
array[0]=document.getElementById("cuad").value;
您可以使用两个不同的初始值,例如x = 0,y = 1并仍然递增值 x + = 2; y + = 2;
相反,您可以使用数组原型来推送值
array.push(document.getElementById("cuna").value);
array.push(document.getElementById("cuad").value);