2014-01-22 161 views
0

我在頁面上有幾個inputText框與相關的編輯/提交按鈕(工作)。我想這樣做,以便當用戶從inputText框中按下輸入時,表單被提交。對於我的一種形式,它的工作原理,對於另一種形式,它不適用。下面是一個不工作:inputText輸入原因頁面刷新

<h:form> 
<iframe src="#{appInfo.documentation}"/> 
<h:commandButton value="Edit" > 
    <f:ajax listener="#{appInfo.editDoc}" render="@form"/> 
</h:commandButton> 
<h:commandButton value="Save" > 
    <f:ajax listener="#{appInfo.saveDoc}" render="@form"/> 
</h:commandButton> 
<h:inputText value="#{appInfo.documentation}" > 
<!-- pressing enter causes page refresh --> 
    <f:ajax/> 
</h:inputText> 
</h:form> 

而任何一個:

<h:form> 
    <h:dataTable id="table" value="#{appInfo.model.apps}" var="a"> 
    <h:column> 
    <f:facet name="header">URL</f:facet> 
    <h:outputText value="#{a.url}"/> 
    <h:inputText value="#{a.url}"> 
    <!-- pressing enter does NOT causes page refresh --> 
     <f:ajax/> 
    </h:inputText> 
    </h:column> 
    </h:dataTable> 
    ... command buttons 
</h:form> 

任何想法?

+0

嘗試查看iframe如何影響您的頁面行爲並檢查broeser控制檯是否有錯誤 – Daniel

+0

我剛剛刪除了iframe並得到了相同的行爲。 – taylordurden

+0

檢查你是否有嵌套窗體('h:form'在另一個'h:窗體'內) – Daniel

回答

0

按下輸入字段中的「Enter」火災等點擊該形式的第一button相同的行爲。在你的第二個例子中,根本沒有按鈕。只要您添加了例如那裏有一個commandButton(就像在第一個例子中那樣),輸入將按預期執行。