台灣最大程式設計社群網站
線上人數
828
 
會員總數:244895
討論主題:188889
歡迎您免費加入會員
討論區列表 >> PHP >> 如何在抓表單中的特定值
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何在抓表單中的特定值
價值 : 20 QP  點閱數:577 回應數:12

樓主

Candas
門外漢
0 3
104 5
發送站內信


我有一個表單要傳資料
不過我要先抓出這兩個值先去判斷資料是否正確 才能傳到form指定的頁面
<input type="text" id="startDate" name="startDate">//輸入開始時間
<input type="text" id="endDate" name="endDate"> //輸入結束時間
因為結束時間不能早於開始時間
所以我想要先把這兩個值抓出來判斷
假設不符 就會跳出視窗警告
如果正確就傳值

想問問 input裡的值怎麼抓出來?

搜尋相關Tags的文章: [ input標籤輸入 ] ,
本篇文章發表於2016-10-05 10:34
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

蒼天浩月
檢舉此回應


你少了value~~~~~~~~~~~~~
本篇文章回覆於2016-10-05 11:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

蒼天浩月
檢舉此回應
補充 用jquery 也是
$('#startDate').val('2016-05-10');
$('#endDate').val('2016-10-10');
本篇文章回覆於2016-10-05 11:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

彩虹
檢舉此回應
#蒼天 你真得有懂他的需求嗎??
1.你1樓的回覆,「你少了value~~~~~~~~~~~~~」??????
那是由使用者自己輸入的,幹麻要先設定value??
傻了嗎?

2.你打這兩行要做什麼?
$startDate = $_POST['startDate'];
$endDate = $_POST['endDate'];


我幫你翻譯一下
1.作者要的是當使用者輸入日期後,要做即時的判斷:【結束時間】不得早於【開始時間】
2.如果 結束時間 > 開始時間,要跳出警告視窗 (此時表單是不能被送出的)
3.如果 開始時間 > 結束時間,正確 (表單即可被送出)


#作者
這方面你可以往javascript或Jquery去找資料 (擇一即可)
取到值之後,一樣使用javascrpt或Jquery做判斷


用javascript來取得表單元素內容的值(javascript取值)
https://pjchender.blogspot.tw/2015/11/javascript.html

使用JavaScript來判斷form表單是否有填寫
http://dreamtails.pixnet.net/blog/post/22501946-%E4%BD%BF%E7%94%A8javascript%E4%BE%86%E5%88%A4%E6%96%B7form%E8%A1%A8%E5%96%AE%E6%98%AF%E5%90%A6%E6%9C%89%E5%A1%AB%E5%AF%AB!


Jquery取值
http://white1027.blogspot.tw/2013/06/js-jquery.html
本篇文章回覆於2016-10-05 13:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
@Candas

針對你的問題,其實沒看到你的使用情況。很難幫你處理。
一般來說,首先要先注意以下幾點問題

1.日期的格式是否能統一。不要一個用2016/01/01 一個用2016-01-01。這樣很難做比對的。

2.日期的選擇是否有帶入日期選擇器。一般來說如果有帶入的話。就可以忽略第一個問題。因為至少格式會統一。

3.你想要了解的是用jquery還是javascript。

一般來說,日期的判斷。如果可以統一格式並且有補0的情況。
所謂補0就是日期的格式不會是 2016-1-1這樣的方式。而是2016-01-01。
這樣的話是還可以直接用字串比對大小的方式。來判斷是否有超過日期。
否則的話,最好還是化成日期元件來做判斷比較會比較安全。

再者,如果有用日期選擇器的話。則可以直接利用日期選擇器來做判斷。

由於你給的資料很有限,並沒辦法很有效的告訴你正確的教學。
或許你可以再詳細的說明一下你目前的html跟js寫法。(無論是否有)
然後是有用jquery還是沒用jquery。

另外~~~~這已經與php無關了。不過我暫時不給你轉版。


@蒼天浩月

這個~~~~我該怎麼說呢??說真的你還是有點答非所問。
而且啊~~~~value不是必要的喔。沒value的宣告預設就是空值了。
有給值的情況下才需要用value的。

再來~~雖然你好心的教用$_POST來接值。
但你好像沒注意到一件事。你的form並沒指向method為post。
所以預設值會用get方式來做發送。

想當然爾~~~你的$_POST一定會接不到值的。

所以呢.....想教人家是好事。不過不要把錯誤的東西教給人家會比較好喔!!
本篇文章回覆於2016-10-05 13:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Candas
檢舉此回應
感謝各位解答
有幾些項目沒說請處

1.我的日期輸入 是用日曆選擇器輸入 (JavaScipt套件)

2.不好意思 因為我沒學過JavaScipt 所以我的想法侷限在PHP中

不過目前的解答來看我想已經有概念了
謝謝。
本篇文章回覆於2016-10-05 14:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

可樂快跑
檢舉此回應
你沒說清楚的東西其實不影響彩虹跟星空的回答。

問題是 @蒼天皓月 他連你最基本的需求核心都沒有思考清楚就只想要拿QP

我都不明白他之前在其他篇說要拜星空為師到底有沒有去做這件事。

說出來的話,就要做到。

星空,我等著看他當你的徒弟喔。記得入門要照規矩來。
本篇文章回覆於2016-10-05 14:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

蒼天浩月
檢舉此回應
提問者的問題,我做過 用日期區間判斷並產生excel報表過 也沒有發生過他的類似情況
我只是單純的 "認為" 他不會抓值 才隨便塞著text value值給他做參考 ~~那樣而已
所以才會回答那種問題
殊不知 他是用js 套件編輯器(一開始沒有說 誰知道他的需求是什麼 ,如果知道就會回答像彩虹大大的回應了)

而要問因為結束時間不能早於開始時間
所以我想要先把這兩個值抓出來判斷("""值不會抓"""")
假設不符 就會跳出視窗警告
如果正確就傳值

至於form 為何沒有method=post 是認為提問者的問題 不在form 這裡 才沒加上的
本篇文章回覆於2016-10-05 15:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

可樂快跑
檢舉此回應
@蒼天

那你都不覺得為什麼你不知道彩虹就知道?

這跟使不使用js編輯器一點關係也沒有。

判斷錯就判斷錯了。不需要另外找理由責怪。

這對你沒有半點好處。

你如果真的是一個想要學習的人,首先……你得先學會認錯。
本篇文章回覆於2016-10-05 16:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

彩虹
檢舉此回應
所以你就是不懂需求阿!!!!!!!!!!!!!!

作者說:

我有一個表單要傳資料

不過我要先抓出這兩個值先去判斷資料是否正確 才能傳到form指定的頁面

因為結束時間不能早於開始時間

所以我想要先把這兩個值抓出來判斷

這幾句話,就足夠打趴你了
這麼清楚的需求,你可以理解成不同意思?

=================================================================
1.根據上面所說,人家是要在【表單送出前做判斷】
你在鬼扯什麼產生excel報表?
送出表單後才做判斷?

2.你說:我只是單純的 "認為" 他不會抓值 才隨便塞著text value值給他做參考
你確定?? 你還打得很激動【你少了value~~~~~~~~~~~~~】 ((很貼心的提醒?)


3.同上:我只是單純的 "認為" 他不會抓值
可是我怎麼看到你是在教【如何給值】
【value="2016-05-10"】 ?
【$('#startDate').val('2016-05-10')】 ?

你是這樣子取值的嗎? 你這樣能取得到值?
這明明是設定值


4.你說:殊不知 他是用js 套件編輯器(一開始沒有說 誰知道他的需求是什麼 ,如果知道就會回答像彩虹大大的回應了)
你可能要自我沉思了...,你的解讀真得很特別
這根本不用先管是不是用JS套件編輯器


5.同上:(一開始沒有說 誰知道他的需求是什麼 ,如果知道就會回答像彩虹大大的回應了)
那你不知道需求之前,可以不要亂回答嘛??


6.你說:至於form 為何沒有method=post 是認為提問者的問題 不在form 這裡 才沒加上的
要給就給正確的好嗎
你教$_POST的方式接收,卻不設定method="post",不是很奇怪嗎? ((如果是忘記打就直接承認好嗎....))
如果你不打method="post" (預設是get),那你應該要用$_GET,懂?

7.不想說了。



本篇文章回覆於2016-10-05 16:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

蒼天浩月
檢舉此回應
好吧,您們都很優秀,理解一級棒, 我判斷錯了,也是我的問題
我不會幫php版的任何人回覆任何問題了,以免讓你們覺得 我是誤人子弟!!!!
本篇文章回覆於2016-10-05 16:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

可樂快跑
檢舉此回應
你要不要順便離開藍色小舖算了?

不過在離開之前…記得先拜師。

你答應的事情還沒做到呢。
本篇文章回覆於2016-10-05 16:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
嘛~~~~這~~~

@蒼天
說真的,站在第三方的立場來看,你的確是誤人子弟了說。
這不是我們覺得。其實相信其它人看到也會這樣認為。

你要不要回覆就你自已決定,我不會禁止你回應跟回覆。
但相對的,你教錯了,我也一定要導正。免得被人家給誤會了。懂嘛?

其實在導正你的同時,也是在教你。不知道你是否有感受到呢?(沒有就算了吧)

那就~~~大家息事寧人吧。(我用對成語了嗎??感覺怪怪的)

@Candas

其實你可以說說看你用了哪一套js的日期選擇器。
一般來說,日期選擇器本身就會有提供相對應取值跟比對的方法才對。
沒有的情況下,才需要額外處理(不過一般都可以用的)
雖然還可以利用另外一種方式。用送入php後來做判斷也是一種方法。
不過一般如果要用這樣的方式,也最好學會ajax的處理原則會比較好。
本篇文章回覆於2016-10-05 16:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.