電気ウナギ的○○

About Home

InternetExplorer は本当に糞ブラウザやのお

shinoda (2019年8月12日 09:30)
4年前にも「InternetExplorer の馬鹿さ加減には本当にうんざり」ってエントリーで同じことを書いてた(笑)
マジで InternetExplorer は糞。

例えば、こういうスクリプト。

function disp_input_area2() {

var form = document.forms.form1; 

if (form.kaito.value == "希望する") {
document.getElementById('input_area2').style.display = 'block';
}
else {
document.getElementById('input_area2').style.display = 'none';
}

}

HTML はこうね。

<input type="radio" name="kaito" id="kaito" value="希望する" onclick="disp_input_area2();" >希望する<br>
<input type="radio" name="kaito" id="kaito" value="希望しない" onclick="disp_input_area2();" >希望しない

これは、Chrome でも  Firefox でも(つまり InternetExplorer(以下 IE) 以外では)ちゃんと実行される。

form で、「回答を希望する」というラジオボタンを選んだら名前やメールアドレスを入力する部分(<div id="input_area2">で囲まれた部分とか)がパクっと開くという動きをするわけだ。

ただし、IE では動かない。

IE では、チェックされた radio ボタンの value 値を取れないからだ。undefined になる。

糞である。

なので、value 値を使う代わりに、radio ボタンの checked な状態を全部調べる必要がある。
だから、例えば以下のようになっちゃう。

function disp_input_area2() {

var form = document.forms.form1; 
var kaito = form.kaito;
var flg = "no";

for (var i = 0; i < kaito.length; i++) {
if (kaito[i].checked == true) {
if (i == 0) {
flg = "yes";
}
}
}

if (flg == "yes") {
document.getElementById('input_area2').style.display = 'block';
}
else {
document.getElementById('input_area2').style.display = 'none';
}

}

糞だ・・・
value 値で判断するほうが自然だしソースもシンプルである。

時々、なんでか知らんけどブラウザの中で IE が一番好きとかいう変態技術者に出会うこともあるんだけど、賢い人ならやっぱり IE は捨てていかないと。

前にも書いたけど、例えば社内 Web システムの実行ブラウザとして IE を指定している情報管理部門やメーカーって怠慢だと思うのよね。

はっきり言って、IE に対応するためだけに余計な工数がかかるんだから。(ま、そこで何度も保守工数が発生することがメーカーとしては狙いなのかもしれんけどね(笑))

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

トラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/5401

電気ウナギ的○○

About This Site

電気ウナギ的○○
岩国在住。広島で働く超零細IT企業社長のいわゆる社長日記。
何か、酒と食い物のことばかり書いているようで・・・お察しのとおり、肥満体です:-)


2011/06/24
iPhone用サイト公開

Create with jQuery, jQTouch.


CLOSE