Frage

Ich bin kein Glück in immer ein jQueryUI Dialog zu Ajax ein Formular laden, das inturn vorträgt über Ajax.

funktioniert alles bis zu dem Punkt, die Form zu kontrollieren, die submited wird und anstatt es durch einen Ajax-Aufruf zu senden. Somit wird das Formular Aktion ausgelöst und der Browser umgeleitet. Der Ajax-Aufruf wird nie gemacht.

Mein Code folgt als

$(document).ready(function() {
$('.viewOrder').click(function() {
    $('#displayOrder').load(this.href, [], function() {
        console.log("landed here");

            $('#blah').click(function() {
                console.log("submiting the form via ajax");

                $.ajax({
                    url: "/ajax/orderupdate",
                    type: "GET",
                    data: data,
                    cache: false,

                    //success
                    success: function (data) {
                        console.log("worked:");
                    }
                });
                return false;
            });
    });
    return false;
});

});

.viewOrder ist die a href, die Ajax geladen wird. Dies funktioniert gut. Ich habe hier viele ähnliche Fragen gelesen und es scheint, load () keine Skripte ausführen, die in der Rück HTML eingebettet werden, aber mein Return-Code ist reine html keine Skripte. Irgendwelche Ideen?

War es hilfreich?

Lösung

Die Ereignisse werden beim Laden der Seite gebunden. Auf Seite laden Sie das Formular, das Sie binden das Click-Ereignis nicht existiert. Ich benutze das Plugin livequery aber sie hinzugefügt Live jquery 4, die Sie auch (ich hatte einige Probleme mit IE, so dass ich zurück zu livequery ging) verwenden können,

So laden livequery mit Ihren Skripten http://docs.jquery.com/Plugins/livequery

und ändern

$ ( '# orderUpdate'). Einreichen (function () {

$ ( "# orderUpdate"). Livequery ( "Eintragen", function () {

Andere Tipps

IMHO sollten Sie versuchen, und erfassen die submit anstelle des Klicks, auf diese Weise Sie vorträgt verhindern getan per Tastatur als gut, und es könnte sogar Ihr Problem beheben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top