如何在javascript中传递动态数组?

时间:2010-09-02 11:56:58

标签: javascript ajax

我已经使用php动态加载了checkbox的值,使用该页面中的AJAX来调用处理页面。

<form name="form1" id="form1" action="javascript:wait1();getPass('go.php?**place**='+ document.form1.place.value);" method="post" enctype="multipart/form-data">


<input name="place[]" type="checkbox" value="<?=$ro['article_title']?>" /><?=$ro['article_title']?>

由于复选框由数组组成,我没有得到值。

Plz帮助..

提前致谢。

2 个答案:

答案 0 :(得分:0)

引用the spec

  

ID NAME 令牌必须以字母([A-Za-z])开头,可能是   后跟任意数量的字母,   数字([0-9]),连字符(“ - ”),   下划线(“_”),冒号(“:”)和   句号(“。”)。

因此[]name属性中无效。

答案 1 :(得分:0)

使用“数组样式”访问表单的属性,例如form1['place[]']。由于这是一个复选框,因此可以选择多个值,form1['place[]']将返回一个节点列表。您可以遍历列表来构建URL:

var places = document.form1['place[]'];

var checked_places = [];
for (var i = 0, l = places.length; i < l; i++) {
    if (places[i].checked) {
        checked_places.push('place[]=' + places[i].value);
    }
}
var url = "go.php?" + checked_places.join('&');

查看实时示例:http://jsfiddle.net/jrYBz/1/

但为什么会这样呢?当您正在发布表单时,为什么不通过服务器端的$_POST读取值?