JQuery und JQuery.Überprüfen "Unable to get property 'call' von undefined oder null-Verweis" Fehler
Habe ich eine ASP.NET MVC 5-Anwendung, die mithilfe von JQuery v1.10.2 und JQuery.Überprüfen v1.13.1 und ich erhalte den folgenden Fehler in Chrome bei der Validierung ein Formular, indem Sie auf "Senden", oder wenn ein Eingang aktiviert, nachdem der Fokus verlieren:
- und Internet-Explorer gibt mir auch den gleichen Fehler.
Ich bin mit dem bundle-system zu bündeln verschiedene Skripte zusammen und diese werden in einem anderen Projekt (was ist gemeinsam zwischen Anwendungen, die den code wartbar in einem Ort). Mein bundles wie folgt Aussehen:
BundleTable.Bundles.Add(new ScriptBundle(BundleNames.JavaScript.JQuery).Include(
string.Format("~/{0}/jquery-1.10.2.js",_JavaScriptFolder""),
string.Format("~/{0}/jquery-1.10.2.min.js",_JavaScriptFolder),
string.Format("~/{0}/jquery-migrate-1.2.1.js",_JavaScriptFolder),
string.Format("~/{0}/jquery-migrate-1.2.1.min.js",_JavaScriptFolder)));
BundleTable.Bundles.Add(new ScriptBundle(BundleNames.JavaScript.JQueryValidation).Include(
string.Format("~/{0}/jquery.validate.js",_JavaScriptFolder),
string.Format("~/{0}/jquery.validate.min.js",_JavaScriptFolder),
string.Format("~/{0}/jquery.validate.unobtrusive.js",_JavaScriptFolder),
string.Format("~/{0}/jquery.validate.unobtrusive.min.js",_JavaScriptFolder),
string.Format("~/{0}/jquery.validate-vsdoc.js", _JavaScriptFolder)));
Und Sie bekommen, enthalten, um die Anwendungen in der layout-Ansicht etwa so:
@Scripts.Render(Ebi.Mvc.Library.Bundling.BundleNames.JavaScript.JQuery)
@Scripts.Render(Ebi.Mvc.Library.Bundling.BundleNames.JavaScript.JQueryValidation)
Diesem setup war gut, wenn JQuery v1.9.1 und JQuery.Überprüfen v1.10.0, die verwendet wurden, aber ich hatte zu aktualisieren JQuery.Überprüfen und ich habe auch beschlossen, zu aktualisieren JQuery (I vermeiden 2.X, weil der IE aus Gründen der Kompatibilität), aber seitdem habe ich fest mit diesem Fehler. Ich habe auch versucht, die änderung wieder auf die ursprünglichen Versionen wurden arbeiten OK, aber komischerweise ist der Fehler immer noch Auftritt.
Ich habe mir bei der Antwort auf diese Frage (das scheint praktisch identisch) und installierte ich die JQuery-Migrate-plugin, das NuGet-Paket-manager, und ich habe es auf der JQuery-bundle, aber all das schien zu tun, war halt ein Fehler geworfen wird, sobald eine Seite mit einem Formular geladen.
Werde ich auch hinzufügen, dass, nachdem der Fehler ausgelöst wird die Validierung findet immer noch statt auf dem Formular (z.B. das hinzufügen der Validierung Klassen, um die Eingänge und die Anzeige von Eingabe-Fehler).
Kann jemand mir helfen herauszufinden, was diesen Fehler verursacht?
unobtrusive-validation
- plugin, das ist in der Regel verwendet, um zu erleichtern die Initialisierung von jQuery Validierung innerhalb von ASP.Sie sind nicht verwenden sollte sowohl die minified und un-minified Versionen jedes script... einfach eine oder die andere.
Vielen Dank für die Ratschläge, minified und un-minified Versionen werde ich beachten. In Bezug auf die
unobtrusive-validation
plugin, welches .js-Datei nicht diese verwenden? Ich habe eine jquery.unobtrusive-ajax.js
und seine minified-version, und auch die aufgeführten bundles code-snippet in meiner Frage oben jquery.validate.unobtrusive.js
InformationsquelleAutor Will.Harris | 2015-07-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
In meinem Fall, es stellt sich heraus, dass das, was Sparky gesagt, über die Verwendung von minified und un-minifed Versionen des gleichen Skript war tatsächlich das Problem verursacht.
Beheben das aufgeteilt ich meine bundles in minifed und un-minified Versionen, die macht beide Arten verwendbar in meiner Anwendung, falls erforderlich.
Da dies zu tun, ich war in der Lage zu aktualisieren JQuery.Validierung plugin, ohne das Fehler auftreten. Ich habe noch nicht zu verwenden die JQuery-Migrate-plugin am Ende entweder.
Also ich denke, wenn jemand anderes kommt dieser Fehler es lohnt sich zu überprüfen, dass Sie nicht mit verweisen auf die beiden minified und un-minified Versionen von JQuery und JQuery-Skripts Validieren.
Die verwirrende bisschen auf meine Hälfte, die ich immer noch nicht, eine Antwort zu haben, ist, dass die Bündel (wie codiert in meine Beschreibung der Frage) waren-setup auf diese Weise für über ein Jahr mit keine Fehler überhaupt Auftritt, und mehrere Anwendungen haben davon Gebrauch gemacht, bis ich versuchte, bei einem Update des plugins...
InformationsquelleAutor Will.Harris
Präzision sollte Hinzugefügt werden, um diese Lösung, weil Sie nicht mehr arbeiten MVC4. Ich Stand vor dieser situation und habe versucht, diese Antworten ohne Erfolg. Wenn ich habe diese jquery-migrate-Dateien mit Nuget und haben direkt den Verweis auf diese Dateien in der html-Seite oder jquery-bundle in BundleConfig ohne Erfolg. Nach vielen Stunden versuchen habe ich endlich verstehen, dass es besser ist, die Bündel in den Kopf von einer bestimmten Seite oder einem bestimmten layout als Referenz verwendet von bekannten Dateien in html-Dokument . Ich habe nur den link ändern von Formatvorlagen und javascript-Dateien, um so etwas wie den folgenden code und Sie erzeugt den benötigten link zu der Seite.
Durch das tun so, ich Erfolg habe und nicht mehr diesen Fehler.
Wenn nicht Hinzugefügt wird, auf die oben jqueryval, können Sie nicht die Validierung
InformationsquelleAutor El camerounian
So, ich bin nicht mit unten Referenz wurde gelöst, indem:
InformationsquelleAutor cracker