我有一个需要使用ajax提交的表单。我试图让验证工作,但当我使用ajax时它不会工作。当我拿出ajax并提交带有空testinput的表单时,它会正确触发他的验证并且不提交表单。我怎么能用ajax调用来做这件事。我的表格如下。
<h:form>
<f:ajax>
<h:panelGrid columns="3">
<h:outputLable for=test" value="testinput:" />
<h:inputText id=test" required="true" label="testinput" />
<h:message for="test" id="testError"/>
</h:panelGrid>
<h:commandButton value="Submit" actionListener="#{testBean.doSomething}" />
</f:ajax>
</h:form>
答案 0 :(得分:5)
默认情况下,<f:ajax>
不会重新呈现表单,因此您不会看到任何内容。将<f:ajax>
替换为<f:ajax execute="@form" render="@form" />
。
答案 1 :(得分:3)
也许尝试这样的事情:
<h:form id="yourFormId">
<!-- form content -->
<h:commandButton value="Submit">
<f:ajax execute="yourFormId" listener="#{testBean.doSomething}"/>
</h:commandButton>
</h:form>