-1

我正在尝试自动提交 jsf 表单。我在表单中有一个 inputhidden 文本框,其中字段值是从请求对象设置的。一旦完成,表单需要自动提交。

我已经使用 javascript 和 Primefaces 完成了自动提交,但我需要使用 Simple JSF 的东西来完成。

不需要使用richfaces,primefaces。

   <h:form id="form">
    <h:inputhidden value="#ManagedBean.user"/>
         <h:comandbutton action="#{ManagedBean.processAction()}" /> //disabled
                 </h:form>
4

2 回答 2

0

你可以使用普通的旧javascript吗?在窗口加载调用

document.getElementById('form').submit();
于 2013-06-06T08:40:06.123 回答
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);
}
于 2013-06-06T08:36:49.210 回答