- ベストアンサー
firefox3.6でJavaScriptが動かない
- firefox3.6でJavaScriptのOnChangeイベントが反応しない問題が発生しています。
- ホームページビルダ10を使用している環境で、コンボボックスの値を選択する際に問題が発生しています。
- IE6では正常に動作するが、firefoxではonchangeイベントに反応しない状況です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
結構、問題だらけのソースですね。 こんな風に書き変えないとまずいかもしれません。 <script> function Pent(obj) { var v=parseInt(obj.value); obj.form.elements["pent1"].value = v; } </script> <form> <p> <select size="1" style="font-size : 24px;" name="pent0" onchange="Pent(this)"> <option value="0" selected>0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select> <input type="text" name="pent1" /> </p> </form> ・関数名と要素名に同じものをつけない ・引数にオブジェクトをわたすときに、名前(name)でわたさない (同じフォーム内の処理ならthisなどをつかう) ・evalなど不正処理がおこりやすいものはつかわない
その他の回答 (1)
- fujillin
- ベストアンサー率61% (1594/2576)
FF3.5.9で確認しましたが…同様ですね。 反応しないのではなくて、エラーで止まっているだけでしょう。(要素の指定の方法がよくない) 引数のform、pent0ともに渡されていないので(というか意味が通じないので)、呼出すところで止まっているようです。 IEでも、formはnullになっていますが、pent0はなんとか通じているみたい。 function Pent()が何をしたいものなのかよくわかりませんが、とりあえず動くようにしたいのなら、呼び出し側は onchange="Pent(this)" とかにしておいて、function側は function Pent(pent0) { にするとか… (formはfunction内で使ってないみたいなので、省略)
お礼
ずいぶん昔に、ホームページビルダーが生成したコードと どこかのホームページだったかを参考に見よう見まねで作りました。 少し、時間(気持ち?)に余裕ができたので、今まで気になっていた 「IEでは動くけれど、FFでは動かない」を考えてみようと思い、 質問させていただきました。 JavaScriptのバージョンの関係かと思ったりしましたが、 どうやらそうではないようですね。 勉強してみます。 ありがとうございました。
お礼
ずいぶん昔に、ホームページビルダーが生成したコードと どこかのホームページだったかを参考に見よう見まねで作りました。 少し、時間(気持ち?)に余裕ができたので、今まで気になっていた 「IEでは動くけれど、FFでは動かない」を考えてみようと思い、 質問させていただきました。 JavaScriptのバージョンの関係かと思ったりしましたが、 どうやらそうではないようですね。 勉強してみます。 ありがとうございました。