2010-04-26 3 views
0

아래 코드는 내 appliaction에서 실패한 것이 무엇인지 보여줍니다. 정보 양식을 빠르게 추가하고 양식을 작성하여 제출하고 데이터베이스에 새 항목을 추가하고 데이터 바를 동기화합니다.이 작업은 모두 ajax로 완료됩니다. 첫 번째 폼 제출은 올바르게 발생하지만 두 번째 폼은 원하는 ActionListener를 실행하지 못합니다. 두 번째 양식은 서버에 게시하지만 saveAction은 호출되지 않습니다. 보시다시피, 저는이 기술에 대한 진정한 초심자입니다 ... 누군가가 문제를 보게되면, 매우 도움이 될 것입니다 !!a4j : commandButton에 문제가있어서 다시 작성하는 중

<rich:simpleTogglePanel id="quickaddActivitySimpleToogle" 
switchType="client" 
opened="false" 
label="#{lang.activityModule_quickAdd_panelTitle}"> 
<p><a4j:form id="quickAddForm"> 
<h:outputLabel for="activityNameInput" 
    value="#{lang.activity_name_dp}" /> 
<h:inputText id="activityNameInput" 
    value="#{activityController.quickActivityAdd.name}"> 
</h:inputText> 
<rich:spacer width="20px" /> 

<h:inputHidden id="activityInternalNameInput" 
    value="#{activityController.quickActivityAdd.internalName}" /> 
<rich:spacer width="20px" /> 
<a4j:commandButton id="activityQuickAddFormSubmitBtn" 
    reRender="activityListTable,quickAddForm" 
    actionListener="#{activityController.saveActivity}" 
    value="#{lang.saveBtn_header}" /> 
</a4j:form></p></rich:simpleTogglePanel> 

미리 감사드립니다. 내부 <h:panelGroup>을 추가하고 -

ollie314

+0

나는 simToogglePanel을 a4j : outputPanel로 묶어서 내 재현 문제의 일부를 해결합니다. 이제 두 번째 아약스 요청을 제대로 작동하지만 양식을 새로 고치지 않습니다 ... Grrr! :) – ollie314

답변

0
  1. 나는
  2. reRender 전체 양식을하지 않습니다
  3. 가 검증을 우회하기 위해 commandButtonimmediate="true"를 넣어 가장 외부 요소로 <a4j:form>을 두는 게 좋을 것 대신에 다시 사다.
관련 문제