如何在不使用h:commandButton或h:commandLink的情况下调用辅助bean方法

时间:2015-05-07 03:40:02

标签: forms jsf

我有一个只有一个输入而没有提交按钮的JSF表单。当用户按 Enter 时,将提交表单。我想在提交该表单时触发一个支持bean方法。我怎样才能做到这一点?

<h:form>
    <h:inputText value="#{searchBean.propertyName}" />
</h:form>

3 个答案:

答案 0 :(得分:1)

我不认为您尝试实现的目标可以在表单中没有提交类型输入组件的情况下完成。如果您不想显示要显示的按钮,可以使用style="display: none"将其隐藏在生成的xhtml页面中。当按下 Enter 时,表单仍会被提交,您将获得所需的行为。

<h:form>
    <h:inputText value="#{searchBean.propertyName}"/>
    <h:commandButton actionListener="#{searchBean.method()}" style="display: none"/>
</h:form>

答案 1 :(得分:0)

您可以将处理程序附加到表单的submit事件。如果您为表单提供ID(例如:“myForm”):

document.getElementById('myForm').addEventListener('submit', function () {
    // do stuff
});

答案 2 :(得分:0)

你提交了ajax电话 -

<h:form>
<div class="search">

    <span class="searchIcon icon-magnifier"></span>
    <h:inputText value="#{searchBean.propertyName}" id="propertyName"
        a:placeholder="" readonly="false"></h:inputText>
    <f:ajax event="change" listener="{searchBean.beanMethod}"/>
</div>