【问题标题】:How to send an inputText to a bean at the moment a post request is made in JSF?如何在 JSF 中发出 post 请求时将 inputText 发送到 bean?
【发布时间】:2015-12-13 20:24:43
【问题描述】:

我的限制是我的 JSF + Primefaces 页面必须包含直接 html 中的发布请求:

<form id="checkout" method="post" action="/checkout">
  <div id="payment-form"></div>
  <input type="submit" value="Pay $10">
</form>

我不能碰它。

在同一页面上,我有一个 inputText,用户将在其中输入他们的电子邮件地址: &lt;p:inputText value="#{bean.emailAddress}"/&gt;

当点击&lt;form&gt; 中的按钮进行发布请求时,我希望将 inputText 也提交并发送到我服务器上的 bean。我怎么能做到这一点?仅在 &lt;form&gt;&lt;/form&gt; 标记中包含 &lt;p:inputText value="#{bean.emailAddress}"/&gt; 似乎不起作用。

【问题讨论】:

    标签: jsf primefaces


    【解决方案1】:

    将 JavaScript 事件侦听器连接到触发&lt;p:remoteCommand&gt; 处理至少感兴趣的&lt;p:inputText&gt; 的表单。

    当您使用 PrimeFaces 时,您将拥有 jQuery。所以,应该这样做:

    <form id="checkout" ...>
        ...
    </form>
    
    <h:form>
        <p:inputText ... />
        <p:remoteCommand name="checkout" process="@form" action="#{bean.checkout}" />
    </h:form>
    
    $(document).on("submit", "#checkout", function() {
        checkout();
    });
    

    【讨论】:

      猜你喜欢
      • 2011-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 2022-08-03
      • 2012-07-04
      • 1970-01-01
      相关资源
      最近更新 更多