gpt4 book ai didi

ajax - PrimeFaces ajax 更改另一个字段上的输入和操作

转载 作者:行者123 更新时间:2023-12-01 06:23:07 25 4
gpt4 key购买 nike

我有这个代码,在输入元素的值改变时,我监听并更新其他一些字段。

问题是,当我通过键入某些内容来更改此输入字段的值并使用 id: commandButton 命中 submit 时,它​​会触发监听器(可能是因为在字段上的 blur 期间检查了值的更改),但不是监听器 X ,即 actionListenercommandButton 。因此,我不得不再次单击该按钮以调用监听器 X

当然,如果我通过单击其他地方然后单击 commandButton 导致输入字段模糊,它会按预期工作。看起来当输入字段的模糊与 commandButton 的点击同时发生时,只有模糊发生 - 按钮的点击被简单地忽略。有任何想法吗?

<p:inputText ...>
<p:ajax event="change" update="..." listener="..." />
</p:inputText>

...

<p:commandButton id="submit" ... actionListener="X" />

编辑: 我使用 PrimeFaces v5.1 和 JSF v2.1.19,FWIW。

最佳答案

我在使用 JSF 和 PrimeFaces 6.1 时遇到了类似的问题(可能完全相同),并将其发布在这里:

PrimeFaces inputText ajax event=valueChange fires AFTER commandButton clicked

@jasper-de-vries 回复了一个有效的、有效的解决方案:)

他的帖子的一个快速总结是将ajax更新更改为seletor,如下所示:

<p:ajax update="@(form :input:not(button))" />

这将更新特定元素(表单)而不是其他元素(按钮),因为 valueChange 或 change 事件更新所有表单,包括按钮,然后忽略按钮上的第一次单击。

关于ajax - PrimeFaces ajax 更改另一个字段上的输入和操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31462719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com