如果显示表单form中数组?在线等

mandyk 2002-10-27 04:49:07
有以下用PHP写的表单,文本框三个变量为数组:user[0],user[1],user[2],但在javascript函数里用alert显示不出该数组值。
<script language=javascript>
function aa(form){
alert(form.user[0].value);
return false;
}
</script>
<form method="POST" action="<?$PHP_SELF;?> onsubmit="return aa(this);">
<?for($s=0;$s<3;$s++){
echo"<input type=\"text\" name=\"user[".$s."]\" size=5>\r\n";
}
?>
<input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>
...全文
216 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
emu 2002-10-27
  • 打赏
  • 举报
回复
表单里面定义元素数组时不用带下标的,只要同名的元素超过1个就自动形成元素数组。如果你非要把下标写进去的话,反而不是数组了:

<script language=javascript>
function aa(form){
alert(form.all("user[0]").value);
alert(form.all("user[1]").value);
alert(form.all("user[2]").value);
return false;
}
</script>
<form method="POST" onsubmit="return aa(this);">
<input type="text" name="user[0]" size=5 value="aaa">
<input type="text" name="user[1]" size=5 value="bbb">
<input type="text" name="user[2]" size=5 value="ccc">

<input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>

不提倡这种写法
emu 2002-10-27
  • 打赏
  • 举报
回复
了不起,E文的。
mandyk 2002-10-27
  • 打赏
  • 举报
回复
我OK了。
for(i=0;i<m;i++)
{
for(j=0;j<n;j++) tmp += user[i] + "\n"
}

alert(tmp)
分照给,
你很热情,我自己写的论坛快OK了,www3.n3.net
emu 2002-10-27
  • 打赏
  • 举报
回复
<script language=javascript>
function aa(form){
alert(form.user[0].value);
alert(form.user[1].value);
alert(form.user[2].value);
return false;
}
</script>
<form method="POST" onsubmit="return aa(this);">
<input type="text" name="user" size=5>
<input type="text" name="user" size=5>
<input type="text" name="user" size=5>

<input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>
mandyk 2002-10-27
  • 打赏
  • 举报
回复
只要alert()函数正常就可以了。
mandyk 2002-10-27
  • 打赏
  • 举报
回复
这样吧,我把表单简化些
<script language=javascript>
function aa(form){
alert(form.user[0].value);
alert(form.user[1].value);
alert(form.user[2].value);
return false;
}
</script>
<form method="POST" onsubmit="return aa(this);">
<input type="text" name="user[0]" size=5>
<input type="text" name="user[1]" size=5>
<input type="text" name="user[2]" size=5>

<input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>
mandyk 2002-10-27
  • 打赏
  • 举报
回复
你要知道,我这里不只一个变量,$s是一个变量下标,看看for里的循环,所以user不是字符串变量,而是数组变量。。
emu 2002-10-27
  • 打赏
  • 举报
回复
不过还是不要用from来做变量名了,保留字来的。
emu 2002-10-27
  • 打赏
  • 举报
回复
哈哈,name=\"user[".$s."]\",把下标一起写进去干什么?
^^^^^^^^


<script language=javascript>
function aa(form){
alert(form.user[0].value);
return false;
}
</script>
<form method="POST" action=_self onsubmit="return aa(this);">
<input type="text" name=user size=5>
<input type="text" name=user size=5>
<input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>


mandyk 2002-10-27
  • 打赏
  • 举报
回复
我写的表单没问题,如果把user[]数组改成变量是正常的
mandyk 2002-10-27
  • 打赏
  • 举报
回复
不行,我原本就是用alert(form.user[0].value)了。
emu 2002-10-27
  • 打赏
  • 举报
回复
咦!试了一下,虽然from是关键字拿来做变量名不好,但是非拿来做变量名也不会出错啊,问题出在别的地方。
emu 2002-10-27
  • 打赏
  • 举报
回复
form.user[0].value
==>
document.all.tags("form")[0].user[0].value

对于一个问题的多个答案,如果我们可以通过form表单传递数组,那程序处理起来会简单多了:




87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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