2011-04-19 119 views
1

我有一個表單在PHP頁面上,由2個元素組成。通過網址發送評論

  • 評級下拉框(5分)
  • 一個評論框(文本框)

和一個提交按鈕。

我想將這兩個內容放入URL中,我該怎麼做?

一個例子是:

example.php?rating=4&comment=asdasdasda%20asdasdas%20 

形式爲:

<form action="" method="get"> 
     <label>Rating:</label> 
     <select class="form_input"> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
      <option value="5">5</option> 
     </select><br /> 
     <label>Comments:</label> 
     <textarea class="form_textarea"></textarea> 
     <input type="submit" class="form_submit_right" value="Submit" /> 
     </form> 
+1

正如Nick所說,這是GET方法表單的默認行爲。但要注意,真正的長URL可能會被截斷 - 我想我以前看過2000個字符的限制 - 所以如果你打算這樣做,你真的應該限制表單中的文本長度。或者用POST代替。 – Rup 2011-04-19 19:38:30

+0

..並記住要避免使用'$ _GET'中的輸入來避免XSS攻擊。 – Nick 2011-04-19 19:39:46

回答

3

如果你想要把你進入下拉和文字輸入到像URL中的值?dropdown_name=dropdown_value&textbox_name=textbox_value那麼您需要指定GET作爲窗體打開標記中的窗體方法:

<form action="" method="get"> 
    ... 
</form> 

編輯:如果因爲您的控件(selecttextarea)需要具有name屬性,表單不能正常工作的原因。 name定義了key=value對中的key

你的形式應該是這樣的:

<form action="" method="get"> 
    <label>Rating:</label> 
    <select name="rating" class="form_input"> 
     <option value="1">1</option> 
     <option value="2">2</option> 
     <option value="3">3</option> 
     <option value="4">4</option> 
     <option value="5">5</option> 
    </select><br /> 
    <label>Comments:</label> 
    <textarea name="comment" class="form_textarea"></textarea> 
    <input type="submit" class="form_submit_right" value="Submit" /> 
</form> 
+0

當我嘗試這個時,它似乎並沒有顯示我輸入的內容? – Xerting 2011-04-19 19:40:44

+0

在您的問題中發佈更多代碼,然後我們可以看到發生了什麼問題。 – Nick 2011-04-19 19:41:05

+0

@Xerting:你錯過了表單控件上的'name'屬性。我已經更新了我的答案。 – Nick 2011-04-19 22:58:02

3

用GET方法發送它,就像

<form action="{$PHP_SELF}" method="get"> 

或者你也可以使用一些JavaScript動態創建的鏈接。