2011-09-13 7 views
-1

レール付きのajaxの使用に関するチュートリアルを読んだところです。下には、JSスクリプトの一部から抜粋したものがいくつか表示されていますが、いくつかのエラーが発生してどこかのテキストを書き込むと予想されます。 (public/javascripts/application.js)RORとJSのデバッグ

実際、このスクリプトは副作用なしで動作します。

document.writeとecho put textはどこにありますか?

出力が見えないときに、このようなスクリプトをどのようにデバッグできますか?まあ、たぶん、おそらくおそらく私は実行されたかどうかを判断することはできません。

+0

ファイヤーバグを使用しましたか? javascriptをデバッグするのに非常に便利です – Awea

答えて

1

は、必ずあなたのコードは、Firebugのか、Chromeの開発ツールを使用し、また

$('.submittable').live('change', function() { 
    $(this).parents('form:first').submit(); 
    alert('reached this point'); 
    ... 

に達している作るために、アラートに入れてみてください。 MacのChromeのショートカットは、dev-toolsを起動するためのコマンド-alt-iです。コンソールを起動するには、「コンソール」をクリックしてください。あなたのJSがに接続するDOM要素を持っていることを確認するには

$('.submittable') 

を入力することができますコンソールで

$('.submittable')が何も返さなければ、dom要素が選択されていません。ブレークポイントを設定して、開発ツールでそれらを実行することさえできます。ブレークポイントを作成するには、

$('.submittable').live('change', function() { 
    $(this).parents('form:first').submit(); 
    debugger; 
    ... 

となり、その行に達すると開発ツールが引き継がれます。

0

私の推測では、$(this).parents('form:first').submit()というページがフォームを投稿したときにJavaScriptがそのポイントを実行していないと言います。そのため、ドキュメントに何らかのエラーが発生したり、何も書き込まれなかったのです。

私は、console.logを使用して、chromeまたはFirebugの開発ツールと組み合わせてテスト出力を書きます。あなたはコンソールで見ることを知っているし、ブレークポイントのようなものを使ってjavascriptの実行を見ることもできます。

関連する問題