2012-11-02 60 views
0

選擇編輯時,將調用輔助bean,但表單字段未預充滿數據。以另一種形式在一種表單中提交數據JSF

<h:form id="EmpDetails"> 
    <h:inputText value="#{empBean.fName}"> 
     <f:validateBean disabled="#{param[skipBeanValidation]}"/> 
    </h:inputText> 

<h:dataTable> 
<h:column> 
    [<h:commandLink value="Edit" immediate="true"> 
     <f:ajax execute="@form" render="@form" listener="#{empBean.edit}"/> 
    </h:commandLink> ] 
    Changed to 
    <h:commandLink value="Edit" action="#{empBean.edit}"> 
     <f:param name="skipValidation" value="true"/> 
    </h:comamndLink> 
    </h:column>  
</h:dataTable> 

<h:commandLink value="#{empBean.addEmployee}"/> 
<h:commandLink value="#{empBean.continue}"/> 
</h:form> 

回答

1

這不是HTML表單應該如何工作的。一個HTML表單應該圍繞全部輸入元素和按鈕,全部參與相同的形式。

以相同的形式將相關表單元素放在一起。如果遇到問題,則必須以不同的方式解決。例如,通過在Ajax中使用部分提交。

+0

我已更新代碼以僅使用一種形式。編輯功能不按要求工作。 – user679526

+0

刪除'immediate =「true」'和'execute =「@ form」'。如果這不能解決你的具體問題,那麼你不得不說出「不工作」。無論如何,你可能會發現這個CRUD示例有用:http://stackoverflow.com/a/3180885 – BalusC

+0

這正是你爲什麼也應該*刪除'execute =「@ form」'。它默認爲'@ this'。 – BalusC

相關問題