2011-12-15 53 views
1

我寫了一個和一個在我的頁面。 當輸入鍵被按下時,如果成功發佈操作,我想做任何js檢查。如何在輸入按鍵時通過JavaScript調用p:commandButton?

的Javascript:

function text_onkeypress() { 
    if(event.keyCode==13){ 
     formSubmit(); 
    } 
} 

HTML:在javascript.It

<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> 

當我寫查詢( 「#搜索」)[0]。點擊()可以做檢查,但無法執行操作=「#{action.getResult}」。

我不知道如何做失敗的行動。

回答

1

你需要什麼樣的檢查?

您不需要在輸入時手動提交(特別是當您只有一個表單時)。 如果您只想在用戶輸入內容時提交表單,則可以利用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版本?

+0

感謝您的answer.if我想提醒()該消息如何做到這一點? – wsxiapiaoxue 2011-12-15 11:25:54

+0

@wsxiapiaoxue當某人在文本字段中輸入一個字符時,您想要顯示一個JavaScript警報嗎?你意識到警告框會從文本框中對焦? – 2011-12-15 12:31:02

4

要從Javascript提交表單最簡單的方法就是調用<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(); 
    } 
} 

這將調用命令按鈕的服務器端action,如果他們通過驗證提交表單的值。

相關問題