2011-03-26 163 views
3

我有兩個commandButtons,當我打入輸入第一個提交。我真的只想提交第二個按鈕,如果用戶點擊輸入。有任何想法嗎?Primefaces命令按鈕提交輸入

+0

如果可能的話,你可以在第一個按鈕的類型改爲'類型=「按鈕」'或使其一個Ajax按鈕('號碼:commandButton'默認情況下一個Ajax按鈕) – 2011-03-26 11:16:47

回答

1

你必須交換這兩個按鈕的位置多數民衆贊成在所有。

您的當前代碼應該是。

<p:commandButton value="button1" action="#{bean.action1}"/> 
<p:commandButton value="button2" action="#{bean.action2}"/> 

默認情況下會觸發button1動作。可以向用戶呈現一個替代視圖,通過添加style="float:right" to the button1.

<p:commandButton value="button1" style="float: right" action="#{bean.action2}"/> 
<p:commandButton value="button2" action="#{bean.action1}"/> 

使用BUTTON2後的按鈕1以上將出現,並執行BUTTON2的作用下,被壓每當輸入。

+0

selvin喜,這個問題只發生在IE中,但可以在http://www.primefaces.org/showcase/ui/dialogForm.jsf上看到。除了定位之外,你還知道另一種解決方法嗎? – c12 2011-04-08 08:38:03

5

我意識到這個問題很古老,但也許它仍然讓人們看到不同的解決方案。

您可以使用Primefaces defaultCommand並向您的首選按鈕添加一個ID,以定義按下Enter鍵時發生的情況。就這樣。

<p:commandButton value="button1" action="#{bean.action1}"/> 
<p:commandButton value="button2" id="btn_to_enter" action="#{bean.action2}"/> 
<p:defaultCommand target="btn_to_enter" />