Сначала я должен исправить заголовок моего вопроса.Это не , выполняющий "обработку отправленных данных формы", а данные формы, которые будут отправлены после некоторой проверки .
Теперь решение.
Например, в моей форме есть следующее:
1 - пользователь нажимает на «подделку»'кнопка submit, которая является a4j: commandButtton,
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>