検索語句、「IE」「cookie」「javascript」「nullまたはオブジェクトではありません」で来られ方へのヒント。
「nullまたはオブジェクトではありません」をどうやって回避するか。
自分がハマッタ現象は、
カートのプログラムを使っていて、
フォームへの入力の手間を省くため、
JavaScriptでCookieを設定しておいて、
読みだそうとしたら、
IE6環境でアラート「nullまたはオブジェクトではありません」が出てしまう。
具体的なJavaScriptのコードは書きませんが、
アラートが出る理由の一つは、
読み出したクッキーの値を代入するための
・フォーム(<form></form>)がそもそも存在しない
・フォームのオブジェクト名(name=”hogehoge”)が違っている
・フォームのエレメント(たとえば、<input name=”hoge” type=”text” size=”10″ value=””>)がそもそも存在しない
・フォームのエレメント名(name=”hoge”)が違う
ので、代入ができなくなってしまってアラート(エラー)が出ると思われます。
まず、上記をチェックしてみて、解決をはかってみます。
これで解決できない場合、フォーム名やエレメント名が違ったら、読み出したクッキーの値を代入しない、として回避する方法もあります。
たとえば、
function hogehoge(){
・・・・・・・
・・・・・・・
}
を
function hogehoge(){
if (document.hogera.hogeren){
・・・・・・・
・・・・・・・
}
}
として「エレメントがあれば代入する」にしておけば回避できます。