電気ウナギ的○○

About Home

Firefox3 で JavaScript が動かない件

shinoda (2009年7月10日 11:10)
InternetExplorer7 では動いている JavaScript が Firefox3 では動かない件。

JavaScript が

function setMsg(){
    var msg = new Array();
    msg[0]    = "選択してください";
    msg[1]    = "1番選択されました";
    msg[2]    = "2番選択されました";
    form1.text1.value    = msg[form1.select1.selectedIndex];
}

こんな感じで、本文が、

<form name="form1">
選択:<select name ="select1" onChange="setMsg();">
<option value="0" selected>-- 選択してください --</option>
<option value="3">1番目</option>
<option value="8">2番目</option>
</select><br>
メッセージ :<input type="text" name="text1" value="">
</form>

こんな感じ。
つまり、プルダウンで値を選択すると、その値によって異なるメッセージをセットしているだけだ。

一応、setMsg 関数の頭に alert 文を突っ込んでやると、ちゃんとダイアログボックスが開くので、onChange="setMsg();" による関数の実行はされているようだ。

Firefox3 のエラーコンソールを見ると、

エラー: form1 is not defined

と出ている。

どうも、name 属性値で要素を指定することが出来ないようで。
ID 指定で要素をオブジェクト化し、それを使用する形に記述(W3C 標準の記述?)しないといかんようですな。
InternetExplorer7 と比べて、Firefox3 はこの辺りのチェックが厳密なようで。

ということで、form に'form1'という ID を指定し、document.getElementById で form1 という element オブジェクトに ID='form1' の要素を突っ込み、それを参照するようにすればOK!

◆JavaScript

function setMsg(){
    var msg = new Array();
    msg[0]    = "選択してください";
    msg[1]    = "1番選択されました";
    msg[2]    = "2番選択されました";
    var form1    = document.getElementById("form1");
    form1.text1.value    = msg[form1.select1.selectedIndex];
}

◆本文

<form id="form1" name="form1">
選択:<select name ="select1" onChange="setMsg();">
<option value="0" selected>-- 選択してください --</option>
<option value="3">1番目</option>
<option value="8">2番目</option>
</select><br>
メッセージ :<input type="text" name="text1" value="">
</form>

ま、あと、裏技的に、

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

を、

<html>

という記述に修正すれば W3C 標準のチェックはかからなくなるので JavaScript は動くが、画面の表示が正常に行われなくなる場合もあるじゃろうね。

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

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

電気ウナギ的○○

About This Site

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


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

Create with jQuery, jQTouch.


CLOSE