2009-01-21 70 views
4

是否可以確定使用哪個提交按鈕?我有一個帶有2個提交按鈕的確認表單。第一個將確認訂單,執行一些數據庫任務,然後重定向。第二個是取消按鈕,只是重定向到同一頁面,而不執行任何數據庫任務。確定使用哪個提交按鈕?

是否有可能在servlet中,最好通過請求對象來確定使用哪個提交按鈕?我寧願不要依賴Javascript,因爲這很簡單,但如果唯一的可能性會採用它。

謝謝。

回答

10
<button name="someName" value="someValue" type="submit">Submit</button> 
<button name="otherName" value="otherValue" type="submit">Cancel</button> 

你必須在你的請求數據someName=someValueotherName=otherValue

+0

感謝。那種想法會是這樣,但只是想我會提前問。 – 2009-01-21 16:20:54

+0

如果你已經認爲會是這樣,我不知道你爲什麼沒有設置它,運行它並測試結果?好像提問你已經知道答案是浪費每個人的時間。 – abelenky 2009-01-21 19:56:49

8

當然,只要給每個submit按鈕的name屬性,和哪一個被點擊會出現在提交的變量:

<input type="submit" name="doConfirm" value="Confirm" /> 
<input type="submit" name="doCancel" value="Cancel" /> 
1

正如其他人所說,有兩個不同名稱的按鈕將實現您的目標。但是,在您的應用程序中依賴此功能時,需要注意一些潛在的問題。我認爲它們是Internet Explorer特有的,所以如果你不需要支持舊版本的IE,你可能會忽略它。兩者都涉及當用戶在表單的某個元素具有焦點時點擊輸入時提交表單的行爲。 This article使用ASP來展示問題,但事物的HTML方面是相關的。

0

當使用多個提交按鈕時,我喜歡使用javascript設置一個隱藏表單字段的值,該字段描述應該發生的操作。

例如:

<input type="hidden" name="action" id="form-action" /> 
<input type="submit" value="Save" onClick="document.getElementById('form-action').value='save'" /> 
<input type="submit" value="Copy" onClick="document.getElementById('form-action').value='copy'" />