作者KawasumiMai (魔物を讨つ者)
看板PHP
标题[请益] form控制项阵列传值结果?
时间Thu Oct 6 05:27:52 2011
看到别人写的
虽然别人是用cgi
不过基本原理应该是一样吧
现在在一个form内
有五个checkbox
其中name都叫做attr
所以是一个阵列
但是value都不同
接着按下送出给php之後
php内写上echo $_POST[attr]
不知道为什麽都只能显示该阵列最後一个有勾的value
那麽请问那个cgi是怎样处理多选的问题呢?
要用其他方法知道attr有哪些资料吗?
请问该怎麽做
--
「杏、どうしたんだ?」
「どっ、どうもしてないわよ。あんたこそ、椋とデートじゃなかったの?」
「ずぶ濡れじゃねぇかよ、
ふっふっ」
「来ないで!!!!!!!!!!!!!!……
来ないで…お愿いだから…」
京都アニメ クラナド~AfterStory~第25话 「もうひとつの世界─杏编」
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.121.210.139
1F:→ knives:它当然只会显示有勾的值阿 10/06 05:37
2F:→ KawasumiMai:但是复选呢?出来的值只有最後一个 10/06 05:57
3F:→ KawasumiMai:假设我勾135只会出现5 10/06 05:57
4F:推 scribeTW:你要取成attr[] 10/06 07:46
5F:→ KawasumiMai:不好意思可以说仔细一点吗? 10/06 07:54
6F:→ KawasumiMai:<input type="checkbox" name="attr" 有复数行 10/06 07:54
7F:→ KawasumiMai:请问接收时要打怎样? 10/06 07:55
8F:→ KawasumiMai:$_POST[?] 10/06 07:55
9F:→ averywu:<input type="checkbox" name="attr[1]" 10/06 08:30
10F:→ averywu:$_POST[attr][1] 10/06 08:30
11F:→ tnstiger:name="attr[]" 所有checkbox都这样取 10/06 09:30
12F:→ tnstiger:$_POST['attr'][0] -> 第一个打勾的 10/06 09:31
13F:→ tnstiger:$_POST['attr'][1] -> 第二个打勾的 以此类推 10/06 09:32
14F:→ KawasumiMai:不好意思补充问一下,为什麽原先网站没有这样取就可以 10/06 10:34
15F:→ KawasumiMai:这是php跟cgi在功能上的限制差异吗? 10/06 10:34
16F:→ arrack:PHP 同名的参数,只会取一个,所以要自行加上[] 10/06 11:07
17F:→ KawasumiMai:不好意思接下来又有另外的延续问题 10/06 11:18
18F:→ KawasumiMai:刚刚依照tnstiger大的方法,php已经取得正确 10/06 11:18
19F:→ KawasumiMai:attr出来的结果是完美的Array,不过这次出在js 10/06 11:18
20F:→ KawasumiMai:原先的html因为关联性的关系,checkbox有呼叫js 10/06 11:19
21F:→ KawasumiMai:第一个checkbox是皆否,呼叫的是取消後面所有checkbox 10/06 11:20
22F:→ KawasumiMai:document.form.attr[i].checked = false 10/06 11:20
23F:→ KawasumiMai:其他呼叫的是取消第一个皆否checkbox 10/06 11:20
24F:→ KawasumiMai:document.form.attr[0].checked 10/06 11:20
25F:→ KawasumiMai:这下变成js失效了,因为名称变成attr[] 10/06 11:20
26F:→ KawasumiMai:而用attr[][i]跟attr[][0]取代也失败,请问该怎麽办 10/06 11:21
27F:→ MOONRAKER:每个input另外取ID,用document.getElementById(id) 10/06 15:49
28F:→ MOONRAKER:参考到各个input,global objects已经是过时写法 10/06 15:49
29F:→ MOONRAKER:不要再用。嫌太长可以写个函数包起来,例如 function 10/06 15:50
30F:→ MOONRAKER:g(id) { return document.getElementById(id); } 这样 10/06 15:51
31F:→ MOONRAKER:以後每次只要写 g("input1").value=... 就好 10/06 15:51