<form action="a.php" method="post">
<input name="item[]" value="1" size="15" />
<input name="item[]" value="2" size="15" />
<input name="item[]" value="3" size="15" />
<input name="item[]" value="4" size="15" />
<input name="item[]" value="5" size="15" />
<input type="button" value="提交" />
</form>
JS脚本里写上document.forms[0].submit();提交到a.php页面。正常方式提交上去,在a.php接收$_POST['item']=array(1,2,3,4,5),这是一个数组来的,我现在需要在提交之前,将name=item[]的input值串联起来,处理成字符串的形式为(1,2,3,4,5),再POST方式提交上去,可以做吗?并应该如何弄呢? 

解决方案 »

  1.   

    如果是在 php 端连接成字符串,php 已经提供了 join 和  implode 函数
    如果是 js 完成,这已经超出本版讨论的范围了,提醒一下:就是的数组对象有一个 join 方法
      

  2.   


    谢谢你,我需要是在JS完成,我也知道有个join方法,但是在提交的那一步,我不知道怎么处理才好。因为上面已经写了<form action="a.php" method="post">
      

  3.   

    表单中加上一个隐藏域:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
    window.onload = function() {
    document.getElementsByTagName('form')[0].onsubmit = function() {
    var ar_items = [];
    var obj = this.getElementsByTagName('input');
    for(var i = 0; i < obj.length; i ++) {
    if (obj[i].name == 'item[]') ar_items.push(obj[i].value);
    }
    var str_items = '';
    if (ar_items.length > 0) str_items = '(' + ar_items.join(',') + ')';
    document.getElementById('ar_items').value = str_items;
    }
    }
    </script>
    </head><body>
    <form action="a.php" method="post">
    <input name="item[]" value="1" size="15" />
    <input name="item[]" value="2" size="15" />
    <input name="item[]" value="3" size="15" />
    <input name="item[]" value="4" size="15" />
    <input name="item[]" value="5" size="15" />
    <input type="hidden" id="ar_items" name="ar_items" />
    <input type="submit" value="提交" />
    </form>
    </body>
    </html>
      

  4.   

    serialize()对象序列化试试
    提取时unserialize()
      

  5.   

    自己写个得到Array集合的方法$a_value =@ $_POST[$变量名];
    if (is_array($a_value))
    {
    foreach ($a_value as $i_key => $s_value)
    {
    $a_value[$i_key] = $s_value;
    }
    }
    return $a_value;方法名叫GetPostList($变量)
    然后页面所有文本框名称一样   后台取值就行