あなたの習慣について教えてください!!

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

A 回答 (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>
    • good
    • 0

ちょっと忘れかけてますが、


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

この回答への補足

補足をさせていただくと以下のようなソースがあります。
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になるのがよくわかりません。大変困っています。よろしければアドバイスをお願いいたします。

補足日時:2005/03/07 16:42
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!