如何在jsf中自动提交表单

时间:2013-06-06 08:10:50

标签: jsf jsf-1.2

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

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

无需使用richfaces,primefaces。

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

2 个答案:

答案 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();