ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

Google Chromeのデバッガを使って、JavaScriptをデバッグ

部下からヘルプがあったので、JavaScriptGoogle Chromeのデバッガを使ってデバッグしました。

f:id:AJYA:20130207214807j:plain

photo credit: nyuhuhuu via photopin cc

 

困っていた内容

選択肢がAとBの2個があり、選択肢Aにより選択肢Bで選択できる内容が切り替わる仕組みがあります。

選択肢Aを選んで、選択肢Bを選んでも、選択肢Bが選べないという内容でした。

 

Google Chromeデバッグ

Google ChromeのデバッガをF12を押して起動して、Sourcesタブを選びます。

JavaScriptが記述されたファイルを選んで、選択肢Aと選択肢Bの変更イベント処理部分にブレークポイントを設定します。

選択肢Aを変更するイベントを発生させて処理を確認しましたが、おかしそうなところはありませんでした。

続いて選択肢Bを変更するイベントを発生させて処理を確認したところ、選択肢Aを変更する処理を呼び出していました。

選択肢Bは、選択肢Aで選ばれた値により選択肢Bで選択できる内容が切り替わる仕組みで、切り替わったときは初期値になります。

そのため、変更のイベントが起きているのに、結局は選択されていない状態になっていました。

 

対処方法

なぜそのような作りにしたのか聞いてみたら、確認画面から入力画面に戻ったときに、選択肢を設定したいためだそうです。

確認画面から入力画面に戻ったときに、window.onloadの中で、それぞれの選択肢を設定すれば、目的を果たせるのではないのかな?とアドバイスをしました。

 

すぐにデバッガを使ってしまうのは、悪い癖だと思っていますが、わかりにくい現象のときは、どうしても頼ってしまいます。