Javascript onClick event nicht gefeuert wird.
Ich versuche, Javascript zu verwenden, um die Kontrolle über eine web-form. Hier ist alle meine Javascript-code und was ich versuche zu erreichen Hinzugefügt, um es als gut.
$(document).ready(function(){
function loadPage(url){
$(".body").fadeOut(400, function(){
$(".body").load(url);
$(".body").fadeIn(400);
});
}
loadPage("pages/login.html");
$("#button").on("click", function(){
var pageTo = this.name;
loadPage("pages/" + pageTo + ".html");
});
});
Wird der code noch mehr komplexe Dinge später auf, aber es schadet auch nicht, die oben genannten.
Meine form sieht wie folgt aus
<FORM>
<SPAN class='header'>Login</SPAN><BR/>
<LABEL for='username' class='loginLabel'>Username</LABEL>
<INPUT type='text' id='username' name='username' value='' />
<LABEL for='password'class='loginLabel'>Password</LABEL>
<INPUT type='password' id='password' name='password' value='' />
<INPUT type='hidden' name='process' value='login' />
<INPUT type='button' value='Login' name='index' id='button' />
</FORM>
Eine einfache login-Formular, aber der text erscheint nicht in der Konsole angezeigt, wenn die Schaltfläche geklickt wird. Ich don 'T wollen, verwenden Sie die Schaltfläche "senden" und den JQuery .submit () - event, denn ich möchte den gleichen code für die Arbeit mit mehreren Arten von Dingen, einschließlich der links, und eventuell andere Elemente.
Ich habe. Es hat nicht funktioniert. Wenn Sie Lesen der anderen Antworten, die ich Kommentare, und keiner von Ihnen schien zu funktionieren.
Dann gibt es etwas, was Sie nicht sagen uns (vielleicht Probleme mit dem anderen code auf der eigenen Seite) , weil es funktioniert: jsfiddle.net/RbzAR.
Ich gehe davon aus
pages/login.html
enthält das Formular? Im moment binden Sie die event-handler, die das element noch nicht existiert, so ist es nicht gebunden werden kann. Binden Sie die event-handler nachdem Sie enthalten den Inhalt oder die Nutzung event-delegation.Haben Sie einen Blick auf api.jquery.com/on, Abschnitt Direkte und Delegierte Ereignisse. Auch die in diesem Zusammenhang nützlich: quirksmode.org/js/events_order.html.
InformationsquelleAutor legobear154 | 2012-09-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie beim binden der Ereignishandler, bevor das element existiert in der Seite.
Entweder binden die handler nach Sie das Formular, indem ein callback zu
.load
:oder verwenden Sie Ereignis-delegation (siehe Abschnitt Direkte und Delegierte Veranstaltungen in der Dokumentation):
InformationsquelleAutor Felix Kling
das ist nicht der richtige Weg, um sich zu registrieren einen handler mit jquery...
versuchen
InformationsquelleAutor TheHe
$("#button")
gibt ein jQuery-Objekt, für die es keineonclick
Eigenschaft/Methode. Verwenden.click
:Wickeln Sie Ihre JS-code in einem Dokument.die bereit-Funktion:
$(document).ready(function() {...});
Hab das von Anfang an nicht das Gefühl, es war wichtig, dass im obigen code
Ja, es funktioniert, der Letzte Eingang vom Typ button mit der id der Schaltfläche
Funktioniert einwandfrei: jsfiddle.net/RbzAR.
InformationsquelleAutor 0x499602D2
jQuery-Objekte haben keine
onClick
Methode. Verwenden.klicken Sie auf
. Ihr code sollte wie folgt Aussehen:Demo
InformationsquelleAutor Some Guy
versuchen mit
.on
vergaß hinzuzufügen, eine Klammer ..
InformationsquelleAutor Mihai Iorga
Es ist nicht
onclick
esclick
InformationsquelleAutor Gabe
Sind Sie sicher, dass Sie warten, für den das Dokument geladen werden, bevor er das onclick Verhalten, Ihre-Taste? Versuchen Sie, die Zuordnung zu innen
Ich tun, warten Sie, bis das Dokument geladen werden. Ich habe nicht das Gefühl, es war wichtig hinzuzufügen, dass der obige code zwar.
InformationsquelleAutor TMan