Das muss etwas Einfaches sein. Ich suchte im Internet und fand nur Syntaxfehler als Ursache für dieses Problem, aber ich kann keinen Syntaxfehler finden.
Hier ist das Javascript:
%Vor%Und der HTML:
%Vor% Beim Seitenladen wird die Funktion hi
wie erwartet aufgerufen, aber mein onChange
-Ereignis verursacht einen Firebug-Fehler und sagt, dass die Funktion nicht definiert ist. Ich bin wirklich ratlos. Habe ich "Hi" falsch geschrieben?
Die hi
-Funktion ist nur innerhalb des ready
-Ereignishandlers enthalten. Verschieben Sie es außerhalb des Ereignishandlers, oder bearbeiten Sie die darin enthaltene Bindung (und entfernen Sie das Inline-Ereignishandlerattribut aus dem Markup):
Die Funktion hi
ist nur im Block ready
definiert. Draußen existiert es nicht mehr.
Sie müssen Funktionsdefinitionen nicht in .ready()
umbrechen, entfernen Sie sie einfach. Alternativ definieren Sie die Funktion wie folgt:
In Ihrem Codeblock:
%Vor% hi
ist keine globale Funktion. Sie können nur innerhalb des Bereichs von function(){...}
darauf zugreifen, nicht von außerhalb.
Da Sie jQuery verwenden, können Sie die Art und Weise ändern, wie Sie Ihre Funktion an das Ereignis onChange
binden. Anstatt es vom html-Tag aus aufzurufen, können Sie Folgendes schreiben:
Tags und Links javascript jquery onchange undefined