从JavaScript-Ajax到php的数组关联

时间:2015-01-24 13:08:10

标签: javascript php ajax

在本练习中,我需要编辑表单上的图书数量,然后将其从javascript-ajax传递给php-sql。

但是,首先,我的表单看起来像这样(由php生成),正如您所看到的,书籍会被标记为" name"。

<input type="text" class="bookclass" name="books[1]" />
<input type="text" class="bookclass" name="books[2]" />    
<input type="text" class="bookclass" name="books[3]" />    

好的,现在,我需要获取所有值(数量)。

var arr = new Array();
var elems = document.querySelectorAll('.bookclass'); // class

    for ( var i=0; i<elems.length; i++ ) {
        arr.push(elems[i].value)

    }    

但是,当然,当我使用&#34;推&#34;方法,不是联想的。

Ajax发送:

xmlhttp.open("GET", "edit.php?q=" + arrayassoc, true);

那么,我该怎么办?

2 个答案:

答案 0 :(得分:2)

使用输入的名称和值,而不是组成新的键名,然后尝试将数组字符串化到其上。

var query_string = "?";

for ( var i=0; i<elems.length; i++ ) {
    query_string += encodeURIComponent(elems[i].name) + "=" +
                    encodeURIComponent(elems[i].value) + "&";
}    

xmlhttp.open("GET", "edit.php" + query_string, true);

答案 1 :(得分:-1)

JavaScript不支持关联数组。

您可以使用以下代码。

    var arr = [];
    var elems = document.querySelectorAll('.bookclass'); // class

    for ( var i=0; i<elems.length; i++ ) {

        arr[i]   = elems[i].value;

    }