发布于 2024-12-27 19:38:05 字数 779 浏览 0 评论 0 原文

我使用 tomahawk 如下:

<t:selectOneRadio 
     id="sorid" onclick="myForm.submit();"
    value="#{myBean.property}" style="float: left;padding-right: 5px;">
    <f:selectItem itemLabel="#{bundle.option_1}"
        itemValue="option1" id="option1" />
    <f:selectItem itemLabel="#{bundle.option_2}"
        itemValue="option2" id="option2" />
    <f:selectItem itemLabel="#{bundle.option_3}"
        itemValue="option3" id="option3" />
    <a4j:support event="oncomplete" reRender="chart"/>
</t:selectOneRadio>

表单已提交,但支持 bean 属性从未更改。无论我是否在页面上进行额外的点击,这种情况只会发生在 IE 中。我也尝试过 event="onclick" 。我尝试添加 this.blur();到 selectOneRadio onclick 操作。

任何帮助将不胜感激! 谢谢。

I'm using tomahawk <t:selectOneRadio> as follows:

<t:selectOneRadio 
     id="sorid" onclick="myForm.submit();"
    value="#{myBean.property}" style="float: left;padding-right: 5px;">
    <f:selectItem itemLabel="#{bundle.option_1}"
        itemValue="option1" id="option1" />
    <f:selectItem itemLabel="#{bundle.option_2}"
        itemValue="option2" id="option2" />
    <f:selectItem itemLabel="#{bundle.option_3}"
        itemValue="option3" id="option3" />
    <a4j:support event="oncomplete" reRender="chart"/>
</t:selectOneRadio>

The form is submited but the backing bean property is never changed. This only happens in IE wether or not I give extra clicks on the page. I've tried with event="onclick" also. I've tried adding this.blur(); to the selectOneRadio onclick actions.

Any help will be appreciated!
Thanks.

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

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

发布评论

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

评论(1

与之呼应 2025-01-03 19:38:05

删除 onclick 处理程序。它只是与 Ajax 支持发生冲突。只需让 click 事件期间完成这项工作即可。

<t:selectOneRadio 
     id="sorid"
    value="#{myBean.property}" style="float: left;padding-right: 5px;">
    <f:selectItem itemLabel="#{bundle.option_1}"
        itemValue="option1" id="option1" />
    <f:selectItem itemLabel="#{bundle.option_2}"
        itemValue="option2" id="option2" />
    <f:selectItem itemLabel="#{bundle.option_3}"
        itemValue="option3" id="option3" />
    <a4j:support event="click" reRender="chart"/>
</t:selectOneRadio>

(请注意,事件名称本身具有 on 前缀,这仅适用于 HTML 元素的属性名称,该元素应引用脚本,该脚本应为事件发生时执行)

Remove the onclick handler. It's only colliding with Ajax support. Just let <a4j:support> do the job instead during the click event.

<t:selectOneRadio 
     id="sorid"
    value="#{myBean.property}" style="float: left;padding-right: 5px;">
    <f:selectItem itemLabel="#{bundle.option_1}"
        itemValue="option1" id="option1" />
    <f:selectItem itemLabel="#{bundle.option_2}"
        itemValue="option2" id="option2" />
    <f:selectItem itemLabel="#{bundle.option_3}"
        itemValue="option3" id="option3" />
    <a4j:support event="click" reRender="chart"/>
</t:selectOneRadio>

(note that the event name does by itself not have the on prefix, this only applies to attribute names of the HTML elements which should refer a script which should be executed when the event occurs)

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