Это невозможно без повторения идентификатора формы и без знания точного местоположения формы в дереве HTML DOM, в отличие от элемента, из которого вы хотите отправить форму.
Вы можете в лучшем случае использовать функцию EL rich:element()
.Представьте, что у вас есть такая форма:
<h:form id="myform">
, тогда вы можете использовать rich:element()
следующим образом в контексте JS (на странице JSF!), Чтобы получить форму в виде HTML-элемента DOM:
<script>
var form = #{rich:element('myform')};
form.submit();
</script>
Это генерируется именно в HTML следующим образом
<script>
var form = document.getElementById('myformOrWhateverClientIdItHas');
form.submit();
</script>
См. Также:
Обновление : Или, когда функция JS вызывается элементом внутри самой формы, просто используйте this.form
, чтобы получить родительский элемент формы HTML DOMэлемент в вопросе.Например,
<h:selectBooleanCheckbox onclick="doSomething(this.form)" />
с
function doSomething(form) {
// ...
form.submit();
}