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

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 に対応するためだけに余計な工数がかかるんだから。(ま、そこで何度も保守工数が発生することがメーカーとしては狙いなのかもしれんけどね(笑))

トラックバック(0)

このブログ記事を参照しているブログ一覧: InternetExplorer は本当に糞ブラウザやのお

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/5401

コメントする

このブログ記事について

このページは、shinodaが2019年8月12日 09:30に書いたブログ記事です。

ひとつ前のブログ記事は「ばくだん屋の汁なし担々麺は・・・」です。

次のブログ記事は「RXのバッテリーを充電しようとしたんだけど」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら