如何使用JavaScript将两个值添加到数组中

时间:2018-09-12 07:56:28

标签: javascript arrays

好吧,我想将文本框中的值添加到数组中,我试过了,但是只能添加一个值,为什么?如果有可能,那我怎么能做到呢? 在我尝试过的代码下面,

<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>

3 个答案:

答案 0 :(得分:3)

您正在将xy都初始化为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);