2010-07-08 127 views
3

我有一個帶有兩個提交按鈕的表單 - 一個用於取消,另一個用於將表單值保存到數據庫。當按Enter鍵時,取消按鈕提交表單而不是提交表單的保存按鈕。如何按下Enter鍵時保存按鈕提交表單?當有兩個提交按鈕時,使用回車鍵提交表單錯誤

感謝,

+0

您可以使用重置按鈕取消 – Himadri 2010-07-08 05:25:35

+0

當按下取消按鈕時,用戶應該導航到不同的頁面。我可以使用重置按鈕嗎?謝謝 – 2010-07-08 05:29:21

回答

4

你的形式不應該有兩個提交按鈕。保存按鈕的類型爲「提交」,而「取消」按鈕的類型爲按鈕。

編輯:我打算更新這個答案來處理提出的幾個問題。

我在HTML規範(即DTD)中看到的任何內容都不允許一個表單中的兩個提交按鈕,但OP提到的確切問題可能會發生。在他或她的情況下,解決方案是式按鈕的取消按鈕,並添加下面的JavaScript:

<input type="button" value="Cancel" onclick="window.location.href='nextpage.html';"/> 

在這裏,人們會用適當的URL替換nextpage.html。或者,如果重定向是表單的動作,則this.form.action可以是新位置。

如果OP想要安全並避免使用JavaScript,那麼這可能只是一個(可能是樣式的)超鏈接。

+1

在表單中有多個提交按鈕是完全可以的。真正的問題是在這種情況下瀏覽器的不穩定行爲。此外,如果取消按鈕不是''按鈕,則取消按鈕不會提交表格。 – zneak 2010-07-08 05:24:31

+2

是的,根據DTD允許,但正如您所說,瀏覽器沒有配備好處理這種情況。解決方案是保持一個提交按鈕,並在另一個上使用JavaScript(如果絕對必要的話)。也許OP可以闡明取消按鈕的用途。 – TNi 2010-07-08 05:28:48

+0

當鍵盤焦點不在其中之一時,HTML規範沒有定義多個提交按鈕的默認激活順序;它僅在焦點位於提交元素本身時才指定激活行爲。不要責怪瀏覽器不執行未指定的內容。 :-) – 2010-07-08 05:50:57