2013-04-16 28 views
26

我想要一個提交類型按鈕來發送POST請求。html按鈕是否可以執行POST請求?

我的想法是這樣的:

<form action = "" method = "post"> 
    <button>Upvote</button> 
<form> 

其中字符串「給予好評」將發送作爲POST請求的名稱。

我知道這是行不通的,我知道有使用AJAX(JavaScript)的方法,但我對這個領域相當新。我只是想知道這是否可能。

更新

有人建議使用<input>標籤,我用它。問題是它會生成一個GET而不是POST。

+0

它不會發布upvote字符串到服務器我相信。我現在會嘗試 – dorafmon

+0

你需要js支持,比如jquery $ .post – farmer1992

+0

你可以用一些js來調用表單提交。 – LtWorf

回答

11
<form action = "" method = "post"> 
     <input type="submit" name="upvote" value="Upvote" /> 
    </form> 
2

您可以:

  • 要麼,使用<input type="submit" ..>,而不是那個按鈕。
  • 或者,使用一點javascript來獲取表單對象(使用名稱或ID),並調用submit(..)就可以了。例如:form.submit()。將此代碼附加到按鈕單擊事件。這將序列化表單參數並執行GET或POST請求,如表單的method屬性中指定的那樣。
+0

使用 ...將生成一個GET請求,而不是POST ...我已經測試了它 – dorafmon

+0

'''action action =「」method「post」> \t \t \t''我的代碼爲 – dorafmon

+0

我得到了'''http://127.0.0.1:8000/debate/00000001?upvote = Upvote''' – dorafmon

27

您需要給按鈕一個名稱和一個值。

沒有控件可以提交沒有名稱,並且按鈕元素的內容是標籤,而不是值。

<form action="" method="post"> 
    <button name="foo" value="upvote">Upvote</button> 
</form> 
相關問題