🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1746閲覧

HTMLで表をソートしたい、IEのみ動作しない

ss_u

総合スコア1

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/03/29 09:11

前提・実現したいこと

htmlでエクセルのようフィルタができる表を作っています。
javaは以下サイト参照。
https://webparts.cman.jp/table/filter/

chrome、firefoxでは問題なく動作するのですが、
IEだとフィルタのボタンが表示されません。

何日もうまくいかず悩んでおりまして、
ご教授いただけますと幸いです。

環境:Windows10、IE11、エンタープライズモード有効
(エンタープライズモードが無効だと動作しましたが、都合上エンタープライズモードは無効にできません)

発生している問題・エラーメッセージ

IEだとフィルタボタンが表示されません。

該当のソースコード

JavaScript

1 //=============================================================== 2 // フィルタテーブルの共通変数 設定要! 3 //=============================================================== 4var gTabldID = 'sampleTable'; // テーブルのエリアのIDを設定 5var gTfStartRow = 0; 6var gTfColList = []; // ボタンが配置されている列番号 7var gTfListSave = {}; // フィルタリストの保存状態 8 9 //=============================================================== 10 // オンロードでテーブル初期設定関数をCALL 11 //=============================================================== 12window.onload = function() { 13 tFilterInit(); 14} 15 16function tFilterInit(){ 17 //============================================================== 18 // テーブルの初期設定 19 //============================================================== 20 var wTABLE = document.getElementById(gTabldID); 21 var wTR = wTABLE.rows; 22 var wAddBtn = ''; 23 24 // ------------------------------------------------------------ 25 // テーブル内をフィルタボタンを付ける 26 // ------------------------------------------------------------ 27 for(var i=0; i < wTR.length; i++){ 28 29 var wTD = wTABLE.rows[i].cells; 30 31 for(var j=0; j < wTD.length; j++){ 32 33 // --- 「cmanFilterBtn」の定義があるセルを対象とする ------ 34 if(wTD[j].getAttribute('cmanFilterBtn') !== null){ 35 36 // --- フィルタ対象はボタンの次の行から ----------------- 37 gTfStartRow = i + 1; 38 39 // --- ボタンを追加(画像はsvgを使用) ------------------ 40 wAddBtn = '<div class="tfArea">'; 41 wAddBtn += '<svg class="tfImg" id="tsBtn_'+j+'" onclick="tFilterCloseOpen('+j+')"><path d="M0 0 L9 0 L6 4 L6 8 L3 8 L3 4Z"></path></svg>'; 42 wAddBtn += '<div class="tfList" id="tfList_'+j+'" style="display:none">'; 43 wAddBtn += tFilterCreate(j); 44 wAddBtn += '</div>'; 45 wAddBtn += '</div>'; 46 wTD[j].innerHTML = wTD[j].innerHTML+wAddBtn; 47 48 // --- フィルタボタンなる列を保存 ----------------------- 49 gTfColList.push(j); 50 } 51 } 52 53 // --- ボタンを付けたら以降の行は無視する ------------------- 54 if(wAddBtn != ''){ 55 gSortBtnRow = i; 56 break; 57 } 58 59 } 60} 61 62・・・省略・・・ 63 64</script>

試したこと

cmanFilterBtn をclassにして試してみましたが、うまくできず。。
(そもそもやり方が間違っているのかもしれませんが)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/03/29 09:13

ブラウザコンソールに何かしらのエラーが出ていませんか?
ss_u

2021/03/30 00:25

コメントありがとうございます。 確認しましたが、特にエラーは出ておらず、メッセージは3件でていました。 HTML1300: ナビゲーションが発生しました。 HTML1203: (ドメイン名) は、グループ ポリシーにより、互換表示で実行するように構成されています。 HTML1122: Internet Explorer is running in Enterprise Mode emulating IE8.
guest

回答2

0

ベストアンサー

Internet Explorer is running in Enterprise Mode emulating IE8

ということは、IE8相当でJavaScriptを書く必要があります。ES3相当となるので、今では資料もなくかなり面倒な作業になるかと思います。

投稿2021/03/30 00:28

maisumakun

総合スコア145963

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ss_u

2021/03/30 00:39

ありがとうございます。 ただでさえ詳しくないので、IE8相当のjavaは諦めます。 該当ページだけエンタープライズモードが解除できないか探した方が良いですかね。 エンタープライズモードはグループポリシーで設定しています。
ss_u

2021/03/31 06:48

グループポリシーで、該当ページのみエンタープライズモードがオフになるよう設定しました。 ヒントをいただけてとても助かりました。 ありがとうございました。
guest

0

よくわからないならjQueryのテーブルソーターとか利用すると良いと思います

javascript

1<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 2<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/js/jquery.tablesorter.min.js"></script> 3<script> 4$(function(){ 5 $('table').tablesorter(); 6}); 7</script>

投稿2021/03/29 10:37

yambejp

総合スコア116661

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ss_u

2021/03/31 06:49

アドバイスいただきありがとうございます。 他の方法で解決いたしました。 次回javaで困ったときに活用させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問