我正在尝试自动提交jsf表单。 我在表单中有一个输入隐藏文本框,其中字段值是从请求对象设置的。一旦完成,表单需要自动提交。
我已经使用javascript和Primefaces完成了自动提交,但我需要使用Simple JSF来完成它。
无需使用richfaces,primefaces。
<h:form id="form">
<h:inputhidden value="#ManagedBean.user"/>
<h:comandbutton action="#{ManagedBean.processAction()}" /> //disabled
</h:form>
答案 0 :(得分:0)
如果使用jquery,可以向表单添加一个事件监听器,并检查是否按下了输入。
我们使用richfaces执行以下操作,但它很简单地映射到jquery:
<rich:hotKey
selector="#searchForm"
key="return"
type="keypress"
handler="if (isValidInputFieldForHotkeyEvent(event)) { event.preventDefault(); jQuery('.searchFormDefaultAction').click(); } else { sendShiftEnter(event); }"
disableInInput="false"
disableInInputTypes=""/>
这些是javascript函数:
function isValidInputFieldForHotkeyEvent(event) {
return event.target.type != 'textarea';
}
function sendShiftEnter(event) {
event.shiftKey = true;
event.ctrlKey = true;
event.altKey = true;
event.keyCode = 13;
event.target.fireEvent("keyPressed", event);
}
答案 1 :(得分:0)
你可以使用普通的旧javascript吗?在窗口加载调用
document.getElementById('form').submit();