![](/img/trans.png)
[英]How to simulate TAB on ENTER keypress in javascript or jQuery
[英]How to invoke a p:commandButton by JavaScript on enter keypress?
我在頁面中寫了一個和一個。 當按下回車鍵時,我想做任何js檢查,如果成功發布一個動作。
Javascript:
function text_onkeypress() {
if(event.keyCode==13){
formSubmit();
}
}
HTML:
<p:inputText id="context" value="#{bean.fileName}"
onkeydown="text_onkeypress();"></p:inputText>
<p:commandButton id="search" value="submit" onclick="return formSubmit();"
action="#{action.getResult}" ></p:commandButton>
當我在javascript中編寫query(“#search”)[0] .click()時。它可以執行檢查,但不能執行action =“#{action.getResult}”。
我不知道該怎么做。
從Java提交表單的最簡單方法是只調用<p:commandButton>
的jQuery對象的click()
事件。
可以通過聲明widgetVar
屬性從Javascript訪問大多數Primefaces組件。 此屬性創建一個Javascript變量。 例如。
<p:commandButton id="search" value="submit" onclick="return formSubmit();" action="#{action.getResult}" widgetVar="searchClientVar" />
我現在可以在formSubmit
函數中訪問變量。 此Javascript變量具有一個名為jq
的屬性,該屬性引用基礎jQuery對象以及可用於調用click事件的對象。
function text_onkeypress() {
if(event.keyCode==13) {
searchClientVar.jq.click();
}
}
如果它們通過驗證,這將調用commandButton的服務器端action
並提交表單值。
您需要什么樣的支票?
您不需要在enter上手動提交(尤其是只有一種表單時)。 如果僅在用戶輸入內容時才想提交表單,則可以利用validateLength
標記。
<h:outputLabel for="firstname" value="Firstname: *" />
<p:inputText id="firstname"
value="#{personBean.firstname}"
required="true" requiredMessage="You have to enter your name" label="Firstname">
<f:validateLength minimum="2" />
</p:inputText>
<p:message for="firstname" />
觀看此處的演示: http : //www.primefaces.org/showcase-labs/ui/pprAjaxStatusScript.jsf
PS:您使用什么PF版本?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.