• ベストアンサー

Nullまたはオブジェクトがありません

jspで、"Nullまたはオブジェクトがありません"というスクリプトエラーが発生します。 "Nullまたはオブジェクトがありません"といわれているところは<div id="kiki" style="display:block">と記されています。このスクリプトエラーが出る原因で思い当たる節がないのですが、どういった場合にでるのか、知識をお持ちの方、ご教授いただきたく思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • neo_ap1
  • ベストアンサー率26% (105/395)
回答No.2

すいません、JSPではなくてJavaScriptですか? だとしたら下の行数の話は忘れてください(笑) とりあえず、下記のソースでテストしてみましたところ、 エラーは出ませんでした。 また、出力結果は次の通りでした。 (1)・・・ tmenukiki0 (2)・・・ tmenuobject 大丈夫そうな気がしますが・・・? --------------- ソース ----------------- <html> <head> </head> <script language="javascript"> function exMenu(tName,flg){ alert("tmenu"+tName+flg); alert("tmenu"+typeof(eval('document.all.'+tName))); if (typeof(eval('document.all.'+tName))=='object'){ tMenu = eval('document.all.'+tName+'.style'); if (tMenu.display == 'none'){ tMenu.display = "block"; } else { tMenu.display = "none"; } if (flg==0){ tMenu.display = "block"; } if (flg==1){ tMenu.display = "none"; } }else{ tMenu1 = eval('document.all.'+tName+'1.style'); tMenu2 = eval('document.all.'+tName+'2.style'); if (tMenu1.display == 'none'&&flg==0){ tMenu1.display = "block"; tMenu2.display = "none"; } else { tMenu1.display = "none"; tMenu2.display = "block"; } if (flg==0){ tMenu1.display = "none"; tMenu2.display = "block"; } } } </script> <body> <form name="test" action="#"> <div id="kiki" style="display:block">test</div><BR> <input type="button" value="push" onClick="exMenu('kiki', 0)"> </body> </form> </html>

その他の回答 (1)

  • neo_ap1
  • ベストアンサー率26% (105/395)
回答No.1

ちょっと忘れかけてますが、 確かjspのエラーに表示される行数は HTML部分がカウントされていなかったと思います。 実際にエラーが起こっている箇所は、 おそらく変数値を操作している部分だと思いますよ。 もうちょっと後ろの方のスクリプト部分に NULL値が渡される可能性のある場所がないか 確認してみてください。

PINK_EGG
質問者

補足

補足をさせていただくと以下のようなソースがあります。 function exMenu(tName,flg){ alert("tmenu"+tName+flg);・・・・(1) alert("tmenu"+typeof(eval('document.all.'+tName)));・・・・・・(2) if (typeof(eval('document.all.'+tName))=='object'){ tMenu = eval('document.all.'+tName+'.style'); if (tMenu.display == 'none'){ tMenu.display = "block"; } else { tMenu.display = "none"; } if (flg==0){ tMenu.display = "block"; } if (flg==1){ tMenu.display = "none"; } }else{ tMenu1 = eval('document.all.'+tName+'1.style'); tMenu2 = eval('document.all.'+tName+'2.style'); if (tMenu1.display == 'none'&&flg==0){ tMenu1.display = "block"; tMenu2.display = "none"; } else { tMenu1.display = "none"; tMenu2.display = "block"; } if (flg==0) { tMenu1.display = "none"; tMenu2.display = "block"; } } } このFanctionをexMenu('kiki',0);という形で、呼び出すのですが、このとき(1)で正確な値を取ってこれています。しかし、(2)の部分では、undefindになっています。div idでkikiを設定しているにもかかわらず、undefindになるのがよくわかりません。大変困っています。よろしければアドバイスをお願いいたします。

関連するQ&A