关于POST方式提交数组想处理成字符串的问题

岳麓山脚下 2011-06-28 07:39:05
<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方式提交上去,可以做吗?并应该如何弄呢?
...全文
642 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
solu 2011-07-03
  • 打赏
  • 举报
回复
出于安全,推荐在服务端组装!
lyklki 2011-07-03
  • 打赏
  • 举报
回复
路过学习了
岳麓山脚下 2011-06-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 t5500 的回复:]

表单中加上一个隐藏域:
HTML code
<!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>
<m……
[/Quote]
此答案为正解,我早上醒来,就想到这个办法最好,谢谢各位兄弟朋友的解答!
「已注销」 2011-06-29
  • 打赏
  • 举报
回复
自己写个得到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($变量)
然后页面所有文本框名称一样 后台取值就行
gzmartin 2011-06-28
  • 打赏
  • 举报
回复
serialize()对象序列化试试
提取时unserialize()
乌镇程序员 2011-06-28
  • 打赏
  • 举报
回复
表单中加上一个隐藏域:
<!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>
岳麓山脚下 2011-06-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xuzuning 的回复:]

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

谢谢你,我需要是在JS完成,我也知道有个join方法,但是在提交的那一步,我不知道怎么处理才好。因为上面已经写了<form action="a.php" method="post">
xuzuning 2011-06-28
  • 打赏
  • 举报
回复
如果是在 php 端连接成字符串,php 已经提供了 join 和 implode 函数
如果是 js 完成,这已经超出本版讨论的范围了,提醒一下:就是的数组对象有一个 join 方法

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧