2012-04-30 17 views
1

我正在創建一個使用GET方法的搜索,這個問題是即使值沒有被選中,並留在那裏默認值,他們發送和URL中可見。html搜索表單,我如何減少網址

我想只有在url而不是每個以下形式的當前值選擇的值,包括0

默認的長和骯髒的網址結束了? 的search.php search_shop_name =麥當勞& search_shop_address = & search_total_rating = 0 & search_shop_comfort = 0 & search_shop_service = 2 & search_shop_ambience = 0 & search_shop_friendliness = 0 & search_shop_spacious = 0 & search_shop_experience = 0 &提交=#legend_total_results

我基本上想整理網址,實際上並不確定如果刪除不需要的數據是一個好的過程或不,對此情況的任何可能的建議?不知道是否與視覺效果OCD 謝謝

+0

這樣做看起來像是自找麻煩,因爲你將不得不作出在服務器和客戶端上的默認值一致,難以維護。 – miguelr

+0

所以你建議我忍受它,或者只是使用POST而不是然後呢? 或者你只是在一般的評論? – Renai

+0

你可以重命名參數,使他們更友好嗎? – miguelr

回答

0

我會做下面的,使用javascript或jquery創建一個提交函數,在該函數做一個驗證與所有領域的搜索,如果他們= null然後不包括他們。

對於如

var search; 
function search(){ 
    if(input[name=search].val() != null) 
    { 
    search = "q="+input[name=search].val(); 
    } 

    if(input[name=search_shop_experience].val() != null) 
    { 
    search += "search_shop_experience="+input[name=ssearch_shop_experience].val(); 
    } 
} 

希望幫助我想你.=或其+=

+0

這是可能的與PHP?我的表單然後通過php + mysql發送一個查詢。 只需關注用戶關閉j/s。如果可能,我試圖不依賴於j/s的功能。 – Renai

+0

不是真的,因爲你的表單是一個GET請求,它真的最好使用JS。看看他們使用的谷歌JS – RussellHarrower

+0

一個空的參數並不意味着沒有參數。 – miguelr