人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

IE8に対応するJavaScriptの書き方

お世話になります。以前、以下のページで質問をさせていただき、
http://q.hatena.ne.jp/1502442214

やりたいことは実現できたのですが、急遽これをIE8に対応させる必要が出てまいりました。
おそらくJavaScriptの書き方を変える必要があるのだと思っているのですが、どのように変えたら良いかをご教示いただけませんでしょうか。

●質問者: cafe-beret
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●500ポイント ベストアンサー

IE8 の環境を持ってないので、IE11 のエミュレーションでしか確認していませんが、こんな感じで行けると思います。

1ページ目

変更なし。

2ページ目

<form name="F21" action="3.html" method="get">
<input type="hidden" name="v1" value="">
<input type="hidden" name="v2" value="">
<input type="submit" value="送信" onClick="document.F21.v2.value='2-1';">
</form>

<form name="F22" action="3.html" method="get">
<input type="hidden" name="v1" value="">
<input type="hidden" name="v2" value="">
<input type="submit" value="送信" onClick="document.F22.v2.value='2-2';">
</form>

<script>
function handler() {
 var p = window.location.search.substring(1).split("&");
 for (var i = 0 ; i < p.length ; ++i) {
 var kv = p[i].split("=");
 if (kv.length == 2) {
 var f = document.getElementsByTagName("form");
 for (var j = 0 ; j < f.length ; ++j) {
 if (f[j][kv[0]]) {
 f[j][kv[0]].value = kv[1];
 }
 }
 }
 }
}
if (window.addEventListener) {
 window.addEventListener("DOMContentLoaded", handler);
} else {
 window.attachEvent("onload", handler);
}
</script>

3ページ目

<script>
var item_map = {
 "1-1": "サンプル1",
 "1-2": "サンプル2",
 "2-1": "サンプル3",
 "2-2": "サンプル4",
 "3-1": "サンプル5",
 "3-2": "サンプル6",
};
function add_item(id) {
 var e = document.getElementById("item");
 var item = document.createElement("div");
 item.innerHTML = item_map[id];
 e.appendChild(item);
}
function handler() {
 var p = window.location.search.substring(1).split("&");
 for (var i = 0 ; i < p.length ; ++i) {
 var kv = p[i].split("=");
 if (kv.length == 2) {
 add_item(kv[1]);
 }
 };
 var sel = document.getElementById("select");
 var a = sel.getElementsByTagName("a");
 for (var i = 0 ; i < a.length ; ++i) {
 a[i].onclick = function(ev) {
 if (ev && ev.target) {
 add_item(ev.target.dataset["item"]);
 } else {
 add_item(event.srcElement["data-item"]);
 }
 };
 }
}
if (window.addEventListener) {
 window.addEventListener("DOMContentLoaded", handler);
} else {
 window.attachEvent("onload", handler);
}
</script>

<p>あなたはCですか?</p>
<ul id="select">
<li><a href="#last" data-item="3-1">はい</a></li>
<li><a href="#last" data-item="3-2">いいえ</a></li>
</ul>
<div id="last">
 あなたに必要なのは、
 <div id="item">
 </div>
</div>

cafe-beretさんのコメント
早々にありがとうございます! またまた完璧に動きました!!本当にありがとうございます!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ