Кстати, для <h:commandButton>
должно работать следующее:
document.getElementById('myForm:save').click();
и когда кнопка является первой кнопкой рассматриваемой формы:
document.getElementById('myForm').submit();
Вам нужно только убедиться, что сгенерированный идентификатор клиента точно совпадает с идентификатором, который вы указываете в getElementById()
.Если <h:form>
вложен в другой компонент UINamingContainer
, то перед идентификатором будет добавлен его идентификатор.Щелкните правой кнопкой мыши страницу в браузере и Просмотр источника , чтобы быть уверенным.
Что касается конкретной проблемы, возможно, вы подключили эту функцию к другой кнопке, которая, в свою очередь, также отправляет некую форму,результат гонки в двух запросах.Затем вы должны return false;
из или после функции заблокировать действие вызывающего абонента по умолчанию.Например,
<h:commandButton onclick="return submitForm();" />
с
function submitForm(){
// ...
return false;
}