在本练习中,我需要编辑表单上的图书数量,然后将其从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);
那么,我该怎么办?
答案 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;
}