アフィリエイト広告を利用しています

2020年07月16日

IEだけ動作が異なる

普通のラジオボタン。

<input id="button0" onclick="participant()" value="A" type="radio" name="choice">
<input id="button1" onclick="participant()" value="B" type="radio" name="choice">

Java scriptのparticipant()関数でvchoiceの値によって処理を分岐していた。


function participant() {
 var vchoice = document.form1.choice.value;
 if (vchoice=="A") {

 } else {

 }
 ・
 ・
}


ChromeとEdgeでは動作するが、IEでは動作しないことに気付いた。

最初のボタン(Virtual)をクリックしても else の処理が実行されてしまう。

調べると、IEではvchoiceがオブジェクトとして認識されているため、

if vchoice=="A" が成り立たない。

document.form1.choice.value はやめて、以下のようにした、


 var vchoice = document.getElementsByName("choice");
 if (vchoice[0].checked==true) {

 } else {

 }


ラジオボタンの一つ目のボタンをチェックしているかどうかで処理を分岐させた。

IEでも動作した。IEはバージョン11。現時点での最新版のはず。

IE11.png

ChromeとEdgeだけでなく、Fire FoxとSafari(Mac)での動作も確認した。

document.form1.choice.value


document.form1.choice.value の値がIEだけ異なることの原因は不明。

不思議だ。







posted by db-engineer at 00:00 | Comment(0) | Javascript

この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

検索
最新記事
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド