[請益] 接收動態表單陣列的值

看板PHP作者 (小草)時間14年前 (2011/11/05 16:35), 編輯推噓0(008)
留言8則, 4人參與, 最新討論串1/1
我在A.php寫一個動態新增欄位 在B.php接收陣列寫進資料庫 不過不知道是JS寫法有問題還是php陣列有問題 我只能接收第一個值= =" 可以請各位前輩幫我看看哪邊有問題嗎? <A.php html部分> <table border="0" cellspacing="1" width="100%" id="tb_2"> <tr><td align="left"><font size="4" face="標楷體" >計畫目標(條列式) </font></td></tr> <tr><td><input type="text" name="text_2[]" id="2_1" /></td></tr> </table> <input type="button" name="button_+" id="2" value="+" onClick="act_text(this)" /> <input type="button" name="button_-" id="2" value="-" onClick="act_text(this)" /> <A.php JS部分> <script language="JavaScript"> var i=2; function act_text(obj) { var num = document.getElementById("tb_"+obj.id).rows.length; switch(obj.value){ case "+": var Tr = document.getElementById("tb_"+obj.id).insertRow(num); Td = Tr.insertCell(Tr.cells.length); Td.innerHTML='<input type="text" name="text_"+obj.id+"[]" id=obj.id+"_"+i />'; i++; break; case "-": if(num >2) { document.getElementById("tb_"+obj.id).deleteRow(-1); } i--; break; } } </script> <B.php接收部分> foreach($_POST['text_2'] as $i){ $text_2Value .= $i.','; } 補充:因為A.php有很多要用到同樣的動態表單,所以我JS根據按哪個Button (obj)來決定 新增的欄位是屬於哪個table (tb_?) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.21.235.234

11/05 17:51, , 1F
是「Java Script」不是「Java Server Pages」
11/05 17:51, 1F
Sorry~ ※ 編輯: susaku 來自: 163.21.235.234 (11/05 21:26)

11/05 23:47, , 2F
ID不可重覆
11/05 23:47, 2F
後來搞了一下發現是下面這行的問題 <input type="text" name="text_"+obj.id+"[]" id=obj.id+"_"+i /> name只能接收確切的文字...就是我改寫成 <input type="text" name="text_2[]" /> 就可以完整接收到 (id我直接刪掉了...似乎沒有差別) 不過這樣太限定name的名字就沒辦法讓其它元件也使用這個function了.. >_<" ※ 編輯: susaku 來自: 163.21.235.234 (11/06 00:19) 呃....更新這麼多次真不好意思 最後改成 Td.innerHTML='<input type="text" name="text_' +obj.id+ '[]" />'; 這樣就可以了 ※ 編輯: susaku 來自: 163.21.235.234 (11/06 00:31)

11/06 17:28, , 3F
我看了很久還是看不懂那個[]是什麼?我看來是一個框
11/06 17:28, 3F

11/06 18:49, , 4F
name[] => array
11/06 18:49, 4F

11/06 19:22, , 5F
喔!對不起我問了一個蠢問題 XD
11/06 19:22, 5F

11/06 19:23, , 6F
以前碰到這種寧願每一個想辦法取序號名字也不要用陣列
11/06 19:23, 6F

11/06 19:23, , 7F
所以看到的時候完全狀況外
11/06 19:23, 7F

11/06 20:46, , 8F
剛開始會用這種命名方式,後來配合JS就不用這種方式了
11/06 20:46, 8F
文章代碼(AID): #1EjFLPyi (PHP)
文章代碼(AID): #1EjFLPyi (PHP)