使用a4j:queue进行事件同步

发布于 2024-11-02 17:49:29 字数 966 浏览 0 评论 0原文

我在表单上有一个输入文本和一个按钮。
我处理输入文本的事件 onchange 和按钮的 onclick 事件。
如果用户更改文本然后单击按钮,触发 2 个事件,有时它们会同时处理。
我希望在 onchange 完成后处理 onclick
为此,我使用<代码>并使用 标记事件,如下所示:

<a4j:queue name="myQueue"/>
    ...
<h:inputText id="dateFromText" value="#{flowScope.fileSearchCriteria.fromDateStr}">
          <a4j:support event="onchange" eventsQueue="myQueue" reRender="datePanel1" 
          actionListener="#{fileSearchCriteria.changeTextFromDate}"/>
</h:inputText>
    ....
<h:commandButton id="fileInSearch" action="fileInSearch"
        value="#{resourceBundle.searchIn}" type="submit">
        <a4j:support eventsQueue="myQueue" event="onclick"/>
</h:commandButton>
...

结果,onclick 并非每次 onchange 之后都会被处理。

I have an input text and a button on the form.
I process event onchange for input text and onclick for button.
If the user changes the text and then click the button 2 events fired and sometimes they are processed simultaneously.
I would like onclick to be processed after onchange completed.
For this I use <a4j:queue name="myQueue"/> and mark events with <a4j:queue name="myQueue"/> like this:

<a4j:queue name="myQueue"/>
    ...
<h:inputText id="dateFromText" value="#{flowScope.fileSearchCriteria.fromDateStr}">
          <a4j:support event="onchange" eventsQueue="myQueue" reRender="datePanel1" 
          actionListener="#{fileSearchCriteria.changeTextFromDate}"/>
</h:inputText>
    ....
<h:commandButton id="fileInSearch" action="fileInSearch"
        value="#{resourceBundle.searchIn}" type="submit">
        <a4j:support eventsQueue="myQueue" event="onclick"/>
</h:commandButton>
...

And as a result, onclick is processed not every time after onchange.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拒绝两难 2024-11-09 17:49:29

每次应该有两个事件:onchange 和 onclick。但是,我建议切换到 a4j:commadnButton,而不是使用内部带有 a4j:support 的 h:commandButton。

You should have two events each time, onchange and onclick. But, I'd recommend to switch to a4j:commadnButton instead of using h:commandButton with a4j:support inside.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文