• 締切済み

JavaScriptの変数の値が消える!?

原因不明のエラーで悩んでます。 どなたか救いの手を! 環境IE5.0SP2 JavaScriptで300個の変数を使用し、IEの入力画面の値を保持しています。 処理ボタンのタイミンングで、入力チェックで変数の値のチェックを行い、 OKの場合、テーブルに値を書き込む・・・という動作をします。 この、入力チェックの段階で変数に値が全くない場合は、エラーで中断しています。 テーブルに書き込む段階で、変数に値がない場合は、書き込みを行いません。 ◎今回のエラー。 ・入力チェックは通過したけれども、テーブルにはデータが書き込まれていませんでした。 処理はそのまま進んでいって、正常終了したけれどもデータがないという状態になりました。 インサートで失敗した場合、エラーメッセージと共に「デバッグしますか?」という例の画面 がでるはずですが、それも表示されなかったため、インサートの段階で変数から 値が消えてしまっていたのでは・・・と考えているのですが。 入力チェックの時点で入っていた値がすぐ後の、インサートの時点で消えてしまっている、 なんてことはありえるでしょうか? やはり、ただ単にコーディングミスなのかと調べまくっていますが、分かりません。 無線LANを使用しているため、途切れた・・・という可能性とかも あるのでしょうか? 分からないことばかりですみません。よろしくお願いいたします。

みんなの回答

  • zzzzzz
  • ベストアンサー率61% (70/113)
回答No.1

これだけの情報では答えようがありません。 1.「テーブルに値を書き込む」の意味が不明確 HTML文書のテーブルの値をDHTMLで更新する、という意味なのか、データベースのテーブルを更新する、という意味なのかが不明です。 さらに後者の場合、アプレットを使用してクライアント側DBを操作するのか、サーバ側にデータを送って更新処理を行うのかが不明です。 (サーバ側DBの場合には送信データを見れば「消えて」いるのかどうかは分かります) 2.どの段階で「消えて」いるのかが不明 > ・入力チェックは通過したけれども、テーブルにはデータが書き込まれていませんでした。 1の話とも関係しますが、クライアント側の話なら一部データを別windowにでも書き出してみればどのタイミングで消えたのかが正確に分かりますし、 サーバ側の話なら、消滅がクライアントで既に起こっているのか、サーバ内で発生しているのかを切り分けないと原因は特定できません。 クライアント側で、完全にJavaScriptだけで完結している話であれば、入力チェックの比較文(==)が間違って代入文(=)になっている、というのがあり得ますね。 後は配列に入れていて、不用意にnewしているとか。 クライアント側の話であれば無線LANは関係ないです。

関連するQ&A