首先,我必须更正我的问题标题。它不是在“处理提交的表单数据”,而是在经过一些验证后提交的表单数据。
现在解决方案。
例如,我的表格中有以下内容:
1-用户点击'假'提交按钮,这是一个a4j:commandButton,
2- Ajax 调用更新 reRender 属性中的字段
3- 之后,使用重新渲染的字段值执行方法 doSomeStuff()
4- 最后 Javascript 将运行以提交表单与否。
形式:
<h:form id="myForm">
<h:inputText id="name" value="#{personHome.person.name}"/>
<h:inputText id="surname" value="#{personHome.person.surname}"/>
<a:commandButton value="Save" reRender="name, surname"
action="#{personHome.doSomeStuff()}"
oncomplete="return checkMessage('#{personHome.success}')"
id="a4jSave" />
<h:commandButton id="save" value="Save"
action="#{personHome.persist}"
style="visibility:hidden" />
</h:form>
JavaScript:
<script language="javascript">
function checkMessage(success) {
if(success =='false')
{
return confirm('Do you want to submit this form?') ? submitForm() : false;
} else {
submitForm ();
}
}
function submitForm() {
document.getElementById('myForm:save').click();
return false;
}
</script>