[心得] input放在form裡面 將不能用js跳頁

看板PHP作者 (deny)時間16年前 (2009/06/29 09:00), 編輯推噓3(306)
留言9則, 5人參與, 最新討論串1/2 (看更多)
雖然不知道誰會和我一樣笨囧" 但是這真的是我debug 24小時的心得 <form method=post> <input name="admin_button" type=submit value="刪除" onclick=check_del()> </form> <script language="javascript"> total_length=document.getElementsByName("check_delete").length; function check_del() { check=""; for(i=0;i<total_length;i++) if(document.getElementsByName("check_delete")[i].checked) check=check+"check_delete"+i+"=true&"; window.location='volunteer_manage_admin.php?'+check+"length="+total_length; } </script> 以上黃色部份的程式碼 無論如何都沒辦法成功 (測試: 把黃色部份的程式碼改成document.write("YA"); 會成功跑出YA字樣) 只要把form標籤拿掉 就可以成功換頁 給經常php和js混用的人一點參考 -- <O> \ |╴ ╱> 信じられない / おち○ちんがある。 30センチに超える少年 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.163.175.230

06/29 09:33, , 1F
我都用location.href 可以跑呀?!
06/29 09:33, 1F

06/29 10:46, , 2F
沒有看到 check_delete, 直接抓的話會得到null
06/29 10:46, 2F

06/29 10:46, , 3F
會引發後續的錯誤. 以致於你無法轉向
06/29 10:46, 3F

06/29 11:28, , 4F
php?"+'check='+true+'&length="+length
06/29 11:28, 4F

06/29 11:29, , 5F
要這樣你後端才會收到check和length兩個變數喔
06/29 11:29, 5F

06/29 11:31, , 6F
我是要收check和total_length 所以沒錯
06/29 11:31, 6F

06/29 15:34, , 7F
辦法1: type=submit 改成 type=button
06/29 15:34, 7F

06/29 15:34, , 8F
辦法2: 改成 onclick='check_del(); return false;'
06/29 15:34, 8F

06/30 11:31, , 9F
感謝樓上!!
06/30 11:31, 9F
文章代碼(AID): #1AI18pc_ (PHP)
文章代碼(AID): #1AI18pc_ (PHP)