2016-03-24 11 views
0

ASP.NETアプリケーションのコンテキストで。 これを処理するより良い方法はありますか? JavaScriptエラーは決してエンドユーザーに表示されるべきではないので、どうすればいいですか?Jqueryセレクタが失敗したときの処理方法は何ですか?

function Save() 
{ 
    var ajaxForm = $('form#ajaxForm'); 
    if (ajaxForm.length == 0) 
     console.error("Ajax for to submit not found, Save will not work!"); 
    else 
     ajaxForm.trigger('submit'); 
} 
+1

なぜフォーム#ajaxFormが存在しないのですか?その要素はHTMLに動的に挿入されていますか? –

+0

これは常に存在するはずです。同僚の開発者が誤ってフォームのIDを変更した場合はどうでしょうか?保存は決して起こりません。私はそれを検出して何らかの方法で問題を報告する際に役立つ何かをユーザに伝える方法を不明です。 – learnerplates

答えて

2

jQueryはエラーを正常に処理します。要素を返さなかったセレクタのメソッドを呼び出すと、コンソールにエラーが表示されません。あなたは、その後、あなたのif条件実際の要素が存在しないというメッセージをユーザーに表示したい場合は、

function Save() { 
    $('form#ajaxForm').trigger('submit'); 
} 

明らかに:

あなたは安全にすべてのエラーを恐れることなく、次のようにコードを減らすことができますjQueryオブジェクトのlengthプロパティをチェックするのが正しい方法です。

関連する問題