作者tyc5116 (累人啊....)
看板PHP
標題Re: [請益] name屬性
時間Thu Mar 22 09:59:48 2012
※ 引述《tyc5116 (累人啊....)》之銘言:
:
※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 114.37.163.44
: → LPH66:利用<input type="hidden"> 03/11 20:48
: → tyc5116:這跟hidden有關係嗎? 03/11 20:51
: → terrybob:放hidden,設定name,然後接收時判定name得知那一個form 03/11 20:55
: 推 kerash:在.php後面放get也可以=> action="xx.php?nn=xx" 03/11 21:02
: → tyc5116:我研究研究好了,我手上的書寫的似乎太過基本XD 03/12 08:49
: → MOONRAKER:實用上,目標為同一個檔案時,不太需要用兩個不同form 03/13 10:45
: → MOONRAKER:統統合成一個form,在接收端判斷那些欄位為空白就忽略 03/13 10:46
: → MOONRAKER:這樣就可以了。目標為不同檔案時比較需要用多個form。 03/13 10:47
: 推 eugene2528:一般用到兩個form應該都是兩個有不同目的吧 03/14 12:34
: → eugene2528:應該沒有必要用到同樣的name吧 03/14 12:34
謝謝各位的回答,但我還是有些地方不太懂,麻煩大家指教一下
有些部份google的答案和板上的答案好像是相同的,但是不太能理解
所以還是丟到這來問各位
另外啊,因為目前都只是在試一些html 及php的特性什麼的
所以有沒有必要的問題,恩~~就先不要討論吧XD
<form id="TestForm1" name="TestForm1" method="post" action="test.php" >
<input type="submit" name="s1" value="TestForm1測試1">
<input type="submit" name="s2" value="TestForm1測試2">
<input type="hidden" name="h1" >
</form>
<form id="TestForm2" name="TestForm2" method="post" action="test.php" >
<input type="submit" name="s1" value="TestForm2測試1">
<input type="submit" name="s2" value="TestForm2測試2">
<input type="hidden" name="h1" >
</form>
上篇我問到如何去區分兩個form傳出來的s1,有推文提到用hidden
判定name來得知,請問我要怎麼判定?
似乎是要用javascript的函式去判斷,所以我在這上面加上了
<script type="text/javascript">
var x=document.getElementsByName("h1");
alert(x.value);
</script>
結果不對,請問我應該怎麼改?謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.173.118
1F:推 kerash:加入 <input type="hidden" name="jgform" value="1" /> 03/22 10:34
2F:→ kerash:接著再接收端去判斷$_POST["jgform"]的值 03/22 10:34
3F:→ kerash:藉此判斷是哪個 form 送出去的 03/22 10:35
4F:→ chrisQQ:hidden value 要設定不一樣,這樣你 post 就會知道是哪個 03/22 11:15
5F:→ MOONRAKER:表格是在後端收的,Javascript在前端,先搞清楚前後。 03/22 11:26
6F:→ MOONRAKER:跟你講不必要又不聽,隨便你玩吧。 03/22 11:26
7F:→ tyc5116:前後端的意思我知道,但我不知道你在氣什麼.. 03/22 12:23
8F:→ tyc5116:kerash那個方式我試過,也試出來了,只是感覺有點繞了一圈 03/22 12:27
9F:→ tyc5116:才不確定對不對XD 03/22 12:27
10F:→ tyc5116:那請問我怎樣可以知道submit是由哪個form送出來的呢? 03/22 12:28
11F:推 kerash:要用 hidden 就是這樣做的,如果你 form 沒有重複包的話 03/22 12:39
12F:→ kerash:那只要收到的 hidden 是哪個,不就知道 submit 是哪個了? 03/22 12:40
13F:→ tyc5116:恩,謝謝 03/22 13:11
14F:推 whatai:form沒必要過javascript 所有動作 包涵檢查 驗證 正規化 03/22 13:18
15F:→ whatai:全部都要在PHP上做 JAVASCRIPT要繞過去是很容易的事情 03/22 13:19
16F:→ whatai:其實最根源是 為什麼NAME要一樣呢? 03/22 13:22
17F:推 kerash:關於原PO遇到的狀況,我也有遇過類似的,那是一堆資料然後 03/22 13:47
18F:→ kerash:每一行資料有一堆欄位,類似像產品清單一樣,整張表很大 03/22 13:48
19F:→ kerash:所以我是用action帶get參數來丟我要改的那一行而已 03/22 13:48
20F:→ kerash:否則一頁100筆全丟過去等於要跑 100 次 query,若 name 不 03/22 13:49
21F:→ kerash:同會更難判斷 ... 03/22 13:49
23F:推 whatai:我記得我當時遇到這種情形時 也是一行就一個FORM 03/22 13:55
24F:→ whatai:雖然name一樣 但是處理上其實一樣的 真要區隔就是hidden 03/22 13:56
25F:→ whatai:然後裡面塞id值 03/22 13:56
26F:推 whatai:補充一下好了 不是hidden的name 而是value 03/22 14:05
27F:→ whatai:反正我只要知道 這一行(form)是sql中的哪一筆就好 03/22 14:06
28F:→ tyc5116:也沒有什麼為什麼Name要一樣啦,我只是在試語法的一些特性 03/22 15:07
29F:→ tyc5116:而已,想多了解罷了,至於帶get參數的方式,我再試試看 03/22 15:08
30F:推 kusoayan:改submit的value也可以? 03/22 15:43
31F:→ kusoayan:哦 看錯問題了 03/22 15:44
32F:推 kerash:我的方法跟 whatai 一樣,這樣寫感覺我比較順XD 03/22 16:15