を使用し<xe:djextListTextBox>
てビューをフィルタリングしています。Firefox ではすべて正常に動作します。Author + Date などのフィルタ値を選択すると、両方が 2 つのボックスに区切られて表示され、閉じる/削除記号として「x」が表示され、フィルタ リストから削除されます。
しかし、IE8 でこれを試してみると、「x」記号は表示されません。残りの onclick と値の選択は正常に機能します。
開発者ツールでソース コードを調べたところ<span>
、Firefox の「x」を含む要素が IE にないことがわかりました。コードを変更してすべてを削除し<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」を追加してみる必要がありますか?