0

我正在使用 a<xe:djextListTextBox>来过滤视图。在 Firefox 中一切正常,我可以选择像 Author + Date 这样的过滤器值,它会显示在两个框中,并以“x”作为关闭/删除符号以将其从过滤器列表中删除。

但如果我在 IE8 中尝试此操作,则不会显示“x”符号。其余的 onclick 和选择值工作正常。

使用开发人员工具查看源代码,我发现<span>IE 中缺少 Firefox 中包含“x”的元素。我修改了我的代码并删除了所有代码<this.dojoAttributes>(参见下面的代码),我在 IE 8 中得到了“x”,但是 onclick 完全刷新在两个浏览器中都不再起作用了。texbox 在客户端消失,但视图没有收到任何刷新。刷新站点手册将框带回来,似乎 onClick 只是在客户端隐藏了框,并没有从输入中删除值。

<xe:djextListTextBox id="filteredByValue" value="#{sessionScope.allDocsFilterColumnValue}">
    <xe:this.dojoAttributes>
        <xp:dojoAttribute name="enabledLinkStyle" value="font-weight:normal">
        </xp:dojoAttribute>
        <xp:dojoAttribute name="readOnly" value="false">
        </xp:dojoAttribute>
    </xe:this.dojoAttributes>
    <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
        <xp:this.action>
            <xp:actionGroup>
                <xp:executeScript>
                    <xp:this.script><![CDATA[#{javascript://                                
                                        sessionScope.remove('allDocsFilterEnabled');
                                        sessionScope.remove('filterType');
                                        sessionScope.remove('allDocsFilterColumnValue');
                                        sessionScope.selectedTab = sessionScope.remove('filterOldSelectedTab');
                                        }]]></xp:this.script>
                </xp:executeScript>
                <xe:changeDynamicContentAction for="dynamicView">
                </xe:changeDynamicContentAction>
            </xp:actionGroup>
        </xp:this.action>
    </xp:eventHandler>
</xe:djextListTextBox>

使用上面的代码,功能在两种浏览器中都可以正常工作,但我需要在 IE8 中显示“x”,因为没有它,我的用户会感到困惑。

我忘记了一个属性吗?还是我必须尝试使用​​某种 CSS 添加“x”?

4

1 回答 1

0

好的..我找到了答案:

            <xp:eventHandler event="onchange" submit="true"
                refreshMode="complete">
                <xp:this.action>
                    <xp:actionGroup>
                        <xp:executeScript>
                            <xp:this.script><![CDATA[#{javascript://                                
                                sessionScope.remove('allDocsFilterEnabled');
                                sessionScope.remove('filterType');
                                sessionScope.remove('allDocsFilterColumnValue');
                                sessionScope.selectedTab = sessionScope.remove('filterOldSelectedTab');
                                }]]></xp:this.script>
                        </xp:executeScript>
                        <xe:changeDynamicContentAction
                            for="dynamicView">
                        </xe:changeDynamicContentAction>
                    </xp:actionGroup>
                </xp:this.action>
            </xp:eventHandler>

我将 onClick 更改为 onChange 事件并删除了 dojo 属性。现在我在 IE8 和 Firefox 中都有“x”,并且功能在两种浏览器中仍然有效。

于 2013-06-10T12:03:02.310 回答