splice 方法
请参阅
slice 方法 (Array)应用于:Array 对象
要求
版本 5.5
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
参数
arrayObj 
必选项。一个 Array 对象。 
start 
必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。 
deleteCount 
必选项。要移除的元素的个数。 
item1, item2,. . .,itemN 
必选项。要在所移除元素的位置上插入的新元素。 
说明
splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新 Array 对象。

解决方案 »

  1.   

    谢楼上的,不过 arrayOBJ 我该怎么写?
    那个数组是在隐藏变量里面。。
    我用document.myform.price[rkey].splice 不行呀~
      

  2.   

    还有
      var test=document.myform.price[0][unit].value;
    alert(test);
    这样访问不了,请问应该怎么访问用eF=document.createElement('<input type="hidden" name=price['+rkey+'][unit] size="20" value='+Incept+'>')
    myform.appendChild(eF)
    方法建立的变量呢
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function AddStyle() {
    var price = new Array();
    price[0]   = new Array();
    price[0][0] = 1;
    rkey = 0;
    unit = 0;
    Incept = price[0][0] ;
    eF=document.createElement('<input type="text" name="' + price[rkey][unit] + '" size="20" value='+Incept+'>')
    myform.appendChild(eF) ;
    alert(myform.outerHTML);
    myform.removeChild(eF) ;
    alert(myform.outerHTML);
    }//-->
    </SCRIPT>
    </HEAD><BODY onload="AddStyle()">
    <FORM METHOD=POST ACTION="" name="myform">
    </FORM>
    </BODY>
    </HTML>
      

  4.   

    你弄错了,你这样写的只是传到服务器端的PHP数组,在客户端,JS并不会认为这是数组,
      var test=document.myform.price[0][unit].value;
    alert(test);
    访问不了可以使用
    test = document.myform.elements["price[0][unit]"].value;来访问
      

  5.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function AddStyle() {
    var price = new Array();
    price[0]   = new Array();
    price[0][0] = "fdas" ;
    rkey = 0;
    unit = 0;
    Incept = price[0][0] ;
    eF=document.createElement('<input type="text" name="' + price[rkey][unit] + '" size="20" value='+ Incept +'>')
    myform.appendChild(eF) ;
    alert(myform.outerHTML);
    myform.removeChild(eF) ;
    alert(myform.outerHTML);
    myform.appendChild(eF) ;
    alert(myform.outerHTML);
    var myname = "document.myform." + price[rkey][unit] ;
    myform.removeChild(eval(myname)) ;
    alert(myform.outerHTML);
    }//-->
    </SCRIPT>
    </HEAD><BODY onload="AddStyle()">
    <FORM METHOD=POST ACTION="" name="myform">
    </FORM>
    </BODY>
    </HTML>
      

  6.   

    多谢楼上2位
    test = document.myform.elements["price[0][unit]"].value;来访问我想 把price[0][unit] 中的0 以 一个form里的变量代替该怎么写?我用
    var rkey=document.myform.key.value;document.myform.elements["price[" + rkey + "][maxunit]"].value=null;
    是不行的
      

  7.   

    为什么不直接这样写:
    <input type="hidden" name=price00
    <input type="hidden" name=price01
    <input type="hidden" name=price10
    <input type="hidden" name=price11...
    i = 0; 
    while (i >= 0) {
    j = 0;
    while (j > = 0) {
    obj =  document.myform.elements["price" + i + "" + j];
    if (typeof(obj) != "object") {
    break;
    }
    j ++;
    }
    if (j == 0) {
    break;
    }
    i ++;
    }
      

  8.   

    <script>
    function add(rkey, Incept) {
      eF=document.createElement('<input type="text" name=price['+rkey+'][unit] size="20" value='+Incept+'>')
      document.myform.appendChild(eF)
    }function del(rkey) {
      myform.removeChild(document.myform["price["+rkey+"][unit]"]);
    }
    test = 1; //这个变量供测试用
    </script><body>
    <form name="myform">
    <input type=button value=add onclick="add(test,'test'+test); test++;">
    <input type=text size=2 name=key><input type=button value=del onclick="del(this.form.key.value)">
    <br>
    </form>