台灣最大程式設計社群網站
線上人數
1442
 
會員總數:245252
討論主題:189111
歡迎您免費加入會員
討論區列表 >> PHP >> 下拉選單查詢後不刷新
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
下拉選單查詢後不刷新
價值 : 5 QP  點閱數:896 回應數:11

樓主

Leo
門外漢
0 20
920 61
發送站內信

請問各位

小弟有個簡易的網站查詢頁面(HTML和PHP全寫在一起....)
程式碼如下

作法:
1. 下拉式選單(選項是連結資料庫產生的)
2. 選擇項目後,點選Submit按鈕送出,將結果顯示在網站下方

目前問題:
1. 我按送出後,結果可以正常查詢出來,可是下拉的選單也被初始化了(e.g. 原本選項順序是A,B,C,選擇B送出後,選項又預設回到A),我希望選項還是原本想選擇的B,請問這方面該如何修正?




感謝各位協助解惑 !



搜尋相關Tags的文章: [ 下拉式選單 ] ,
本篇文章發表於2016-02-03 08:41
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

迷路
捐贈 VP 給 迷路 檢舉此回應
第一,有用程式標籤是好習慣,但是如果程式碼沒有推駱駝峰的話,意義就不大了
第二,關於你的問題解法很多,下面提供最簡單直覺的解答
請將元程式碼的33行更換成下面的
本篇文章回覆於2016-02-03 10:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
先說明一下你的一些寫法問題

1.如果發送為同一頁。可以在表單內不要指定action值。這樣就是代表發送同一頁了。

2.採用#1的寫法。也就是去接收post值來確定原本你的指定值為何。在option給與selected的值。就會自動選擇了。
本篇文章回覆於2016-02-03 10:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

Leo
檢舉此回應
請問是否寫成下面這樣就可以了???


它的運作模式

是不是判斷如果迴圈給的下拉選項=POST出去的值

就將該選項selected(設為預設值)

本篇文章回覆於2016-02-03 14:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
不錯的參考

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
一般來說。安全點最好還是用 selected="selected"

當然直接給selected也是可以的。只是有些瀏覽器不吃這樣的判定。(雖然現在很難找到還不吃這樣的瀏覽器了)

不過其實我會比較偏向用三元判斷式就是了
如你的第2行改為



ps:其實我也是只用selected就是了。
本篇文章回覆於2016-02-03 14:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Leo
檢舉此回應
另外我還想請問

為什麼用if不用加上{}呢?

不是符合if的條件才執行{}裡面的內容嗎?

但是依#1大的寫法是不是不論if是否成立都執行echo " selected=\"selected\"";

還是小弟我對此語法認知有所錯誤

請協助解惑

謝謝!
本篇文章回覆於2016-02-03 14:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
不錯的參考

Daimom
捐贈 VP 給 Daimom 檢舉此回應
if下面只有一行陳述的話可以不用用{},

但是如果不使用{},請保持保持良好的縮排,會讓你的程式碼比較好看。
詳情請參考 這裡
本篇文章回覆於2016-02-03 16:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
一般正確的if用法的確是

但如果在無else的情況下。且只有一行運行碼時。
的確可以簡寫成

不過一般並不太建議這樣寫。比較容易造成程式上的判讀錯誤。
如真想要一行處理的話。我大多會希望使用三元判斷式的寫法。也就是

以上給你參考。
本篇文章回覆於2016-02-03 16:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

Leo
檢舉此回應
感謝各位的解說

受益良多

謝謝 !
本篇文章回覆於2016-02-03 18:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

Leo
檢舉此回應
另外請問#1大 您指的"推駱駝峰"的意思是???

再請指教

謝謝 !
本篇文章回覆於2016-02-04 08:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
和6樓大大提到的「縮排」是同一回事
由於程式碼縮排後會高高低低就是駱駝的背部一樣
所以不少人會暱稱為「駱駝峰」
本篇文章回覆於2016-02-04 09:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

Leo
檢舉此回應
了解!

原來還有這類的"行話"

謝謝!
本篇文章回覆於2016-02-04 10:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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