<input type="submit">
值
設定 value 屬性
<input type="submit" value="Send Request" />
省略 value 屬性
如果你沒有指定value,按鈕將會有一個預設標籤,由使用者代理選擇。這個標籤很可能是“Submit”或“Submit Query”。以下是在你的瀏覽器中使用預設標籤的提交按鈕的示例
<input type="submit" />
其他屬性
除了所有<input>元素共享的屬性外,submit按鈕輸入還支援以下屬性。
formaction
一個字串,指示要提交資料的 URL。這優先於action屬性在擁有該<input>的<form>元素上。
此屬性也適用於<input type="image">和<button>元素。
formenctype
一個字串,用於識別將表單資料提交到伺服器時要使用的編碼方法。有三個允許的值
application/x-www-form-urlencoded-
這是預設值,它在百分比編碼文字(使用
encodeURI()等演算法)後,將表單資料作為字串傳送。 multipart/form-data-
使用
FormDataAPI 管理資料,允許將檔案提交到伺服器。如果你的表單包含任何型別為file的<input>元素(<input type="file">),你必須使用這種編碼型別。 text/plain-
純文字;主要只在除錯時有用,這樣你可以輕鬆地檢視要提交的資料。
如果指定,formenctype屬性的值將覆蓋擁有表單的action屬性。
此屬性也適用於<input type="image">和<button>元素。
formmethod
一個字串,指示將表單資料提交到伺服器時要使用的 HTTP 方法;此值將覆蓋在擁有表單的表單上給出的任何method屬性。允許的值是
get-
透過從
formaction或action屬性給出的 URL 開始構建一個 URL,追加一個問號(“?”)字元,然後追加表單資料,編碼方式如formenctype或表單的enctype屬性所述。然後,使用 HTTPget請求將此 URL 傳送到伺服器。此方法適用於僅包含ASCII字元且沒有副作用的簡單表單。這是預設值。 post-
表單資料包含在傳送到
formaction或action屬性給出的 URL 的請求主體中,使用 HTTPpost方法。此方法支援複雜資料和檔案附件。 dialog-
此方法用於指示按鈕關閉與輸入關聯的對話方塊,並且根本不傳輸表單資料。
此屬性也適用於<input type="image">和<button>元素。
formnovalidate
如果存在,則為布林屬性,指定表單在提交到伺服器之前不應進行驗證。這將覆蓋在元素擁有表單的novalidate屬性的值。
此屬性也適用於<input type="image">和<button>元素。
formtarget
一個字串,指定一個名稱或關鍵字,指示在提交表單後在哪裡顯示收到的響應。該字串必須是瀏覽上下文的名稱(即,標籤、視窗或<iframe>)。此處指定的值將覆蓋在擁有此輸入的<form>上給出的任何target。
除了標籤、視窗或內聯框架的實際名稱外,還可以使用一些特殊的關鍵字。
_self-
將響應載入到與包含表單的瀏覽上下文相同的瀏覽上下文。這將用接收到的資料替換當前文件。這是未指定時使用的預設值。
_blank-
將響應載入到一個新的、未命名的瀏覽上下文。這通常是與當前文件相同的視窗中的一個新標籤頁,但可能會根據使用者代理的配置而有所不同。
_parent-
將響應載入到當前瀏覽上下文的父瀏覽上下文。如果沒有父上下文,則其行為與
_self相同。 _top-
將響應載入到頂層瀏覽上下文;這是當前上下文的頂層祖先瀏覽上下文。如果當前上下文是頂層上下文,則其行為與
_self相同。
此屬性也適用於<input type="image">和<button>元素。
使用提交按鈕
<input type="submit">按鈕用於提交表單。如果你想建立一個自定義按鈕並使用 JavaScript 自定義其行為,你需要使用<input type="button">,或者更好的是,使用<button>元素。
如果你選擇使用<button>元素來建立表單中的按鈕,請記住這一點:如果<button>在<form>內,該按鈕將被視為“提交”按鈕。因此,你應該養成明確指定哪個按鈕是提交按鈕的習慣。
一個簡單的提交按鈕
我們將從建立一個帶有簡單提交按鈕的表單開始。
<form>
<div>
<label for="example">Let's submit some text</label>
<input id="example" type="text" name="text" />
</div>
<div>
<input type="submit" value="Send" />
</div>
</form>
它渲染如下。
嘗試在文字欄位中輸入一些文字,然後提交表單。
提交後,資料名稱/值對將傳送到伺服器。在這種情況下,字串將是text=usertext,其中“usertext”是使用者輸入的文字,已編碼以保留特殊字元。資料提交的位置和方式取決於<form>的配置;有關更多詳細資訊,請參閱傳送表單資料。
向提交按鈕新增鍵盤快捷鍵
鍵盤快捷鍵,也稱為訪問鍵和鍵盤等效項,允許使用者使用鍵盤上的一個鍵或幾個鍵的組合來觸發按鈕。要向提交按鈕新增鍵盤快捷鍵(就像對任何<input>新增快捷鍵一樣,只要有意義),你可以使用accesskey全域性屬性。
在這個示例中,s被指定為訪問鍵(你需要按下s加上你的瀏覽器/作業系統組合的特定修飾鍵)。為了避免與使用者代理自身的鍵盤快捷鍵發生衝突,訪問鍵的修飾鍵與主機計算機上的其他快捷鍵的修飾鍵不同。有關更多詳細資訊,請參閱accesskey。
以下是之前示例添加了s訪問鍵的情況。
<form>
<div>
<label for="example">Let's submit some text</label>
<input id="example" type="text" name="text" />
</div>
<div>
<input type="submit" value="Send" accesskey="s" />
</div>
</form>
例如,在 Mac 上的 Firefox 中,按下Control-Option-S將觸發“傳送”按鈕,而 Windows 上的 Chrome 使用Alt+S。
上面示例的問題是,使用者將不知道訪問鍵是什麼!這尤其如此,因為修飾鍵通常是非標準的,以避免衝突。在構建網站時,務必以不會干擾網站設計的方式提供此資訊(例如,提供一個易於訪問的連結,指向有關網站訪問鍵的資訊)。向按鈕新增工具提示(使用title屬性)也有幫助,雖然這並不是一個完整的可訪問性解決方案。
停用和啟用提交按鈕
要停用提交按鈕,請在其上指定disabled屬性,如下所示。
<input type="submit" value="Send" disabled />
你可以透過將disabled設定為true或false來在執行時啟用和停用按鈕;在 JavaScript 中,這看起來像btn.disabled = true或btn.disabled = false。
注意:有關啟用和停用按鈕的更多想法,請參閱<input type="button">頁面。
驗證
提交按鈕不參與約束驗證;它們沒有要約束的實際值。
示例
我們在上面包含了簡單的示例。關於提交按鈕,真的沒有什麼可說的了。這種型別的控制元件有時被稱為“簡單按鈕”是有原因的。
技術摘要
規範
| 規範 |
|---|
| HTML 標準 # submit-button-state-(type=submit) |
瀏覽器相容性
BCD 表格僅在啟用 JavaScript 的瀏覽器中載入。
另請參閱
<input>和實現它的HTMLInputElement介面。- 表單和按鈕
- HTML 表單
<button>元素- CSS 屬性的相容性