2016-03-24 16 views
0

Im Zusammenhang mit einer ASP.NET-Anwendung. Gibt es einen besseren Weg, damit umzugehen? Sicherlich sollten JavaScript-Fehler niemals dem Endbenutzer angezeigt werden. Was sollen wir tun?Wie behandelt man am besten, wenn ein JQuery-Selektor fehlschlägt?

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

Warum sollte 'form # ajaxForm' nicht existieren? Wird dieses Element dynamisch in den HTML-Code eingefügt? –

+0

sollte es immer existieren, was ist, wenn ein Mitentwickler versehentlich die ID des Formulars geändert hat. Das Speichern würde niemals passieren und ich bin mir nicht sicher, wie ich es erkennen und dem Benutzer etwas Nützliches mitteilen kann, während ich das Problem in irgendeiner Weise berichte. – learnerplates

Antwort

2

jQuery behandelt Fehler fehlerfrei. Wenn Sie eine Methode für einen Selektor aufrufen, der keine Elemente zurückgegeben hat, werden in der Konsole keine Fehler angezeigt.

Sie können den Code auf die folgenden, ohne Angst vor Fehler sicher vermeiden:

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

Selbstverständlich, wenn Sie tatsächlich die Benutzer wollen, um eine Nachricht anzuzeigen, wenn das Element nicht existiert, dann if Zustand Überprüfen der length -Eigenschaft des jQuery-Objekts ist die richtige Methode zu verwenden.

Verwandte Themen