• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Was passiert hier?

thuemmy

Aktives Mitglied
Entschuldigung erstmal für diesen ziemlich schwachsinnigen Thread-Titel, aber auf die Schnelle ist mir nüscht anderes eingefallen. Hier ein Stück JavaScript aus einem Formular
Code:
[COLOR=#000000]var formInput = $(this).serialize();
[/COLOR][COLOR=#000000]$.post($(this).attr('action'),formInput, function(data) {
[/COLOR][COLOR=#000000]    $('form#contact-form').slideUp("fast", function() {
[/COLOR][COLOR=#000000]        $(this).before('<div class="success overline"><h2>Danke!</h2></div><p>Ihre Nachricht wurde erfolgreich gesendet.</p>');
[/COLOR][COLOR=#000000]    }); [/COLOR][COLOR=#000000]
[/COLOR][COLOR=#000000]});[/COLOR]

Die Hauptaufgabe ist wohl Formulardaten zu validieren.

In der ersten Zeile werden wohl die Formulardaten seriallisiert. Kann es sein, dass ab der 2. Zeile das Script aufgerufen wird, das die Formulardaten verarbeiten soll, und zwar so, dass Testausgaben im PHP-Script nicht angezeigt werden?
 
Werbung:
Hallö,

also ih würde sagen das er die Daten einfach per post schickt und dann einfach das Formular zu slidet und dann der text mit danke angezeigt wird.
ich wüsst jetzt nicht wo das was geprüft wird.

Cheffchen
 
Hallo Cheffchen,

erstmal danke für die Antwort. Die Validierung erfolgt vorher im Script, das habe ich jetzt nicht mit reinkopiert, weil darum dreht es sich mir gar nicht. Worum es sich mir dreht ist, dass in dem PHP-Script u.a. ein print_r($_POST) steht, und das sollte ja zumindest "Array()" als Ausgabe liefern aber das passiert wohl nicht. Ich versuche meine Frage nochmal genauer zu stellen. Kann es sein, dass die 2. Zeile in dem Script-Schnipsel einfach das PHP-Script auf dem Server aufruft ohne die Ausgaben die das PHP-Script generiert zu verarbeiten, bzw. anzuzeigen (ist auch im Quellcode nicht zu finden)?
 
Werbung:
Im Netzwerk-Tab des Firebugs bzw. der Developer-Tools kannst du solche Anfragen auch sehen und vor allem auch die Antwort des Skriptes analysieren. Dort sollte deine Print-Ausgabe eigentlich irgendwo auftauchen.
 
Vielen Dank für die Antworten. Das mit Firebug bzw. Developer-Tools werde ich wohl morgen mal ausprobieren. Jetzt sitze ich an einem altersschwachen Laptop wo ich solche add-ons nicht installiert habe.
 
Werbung:
Ein Tipp noch am Rande:

Wenn du jQuery Ajax schreibst, dann verzichte nach Möglichkeit auf die Kurzformen $.get() und $.post() und nimm statt dessen lieber die low-level Implementation $.ajax().

Code:
$.ajax({
    url: 'http://example.com' ,
    method: 'POST',
    data: {
            foo: 'bar',
            baz: someVariable
        },
    success: function(result) {
       // tu was mit result
    }
});

Das ist zwar länger, aber leichter zu lesen, als dein eingangs geposteter Code.
 
Danke Tronjer, für den Tipp. Das Script ist aber nicht von mir. Ich versuche nur Email-Support zu leisten, und dieses doofe Script steht mir da etwas im Wege, da Debug-Ausgaben in einem PHP-Script nicht angezeigt werden. Aber Banana_Jones hat mir dazu ja schon einen Tipp gegeben.
 
@ Banana_Jones - nochmals Danke für den Hinweis mit Firebug und nem Netzwerk-Tab. Jetzt konnte ich den Fehler im PHP-Script ausmachen (es war der typische "den Wald vor lauter Bäumen nicht sehen" Fehler. Das nächste Problem wird aber wohl sein, die Ausgabe des PHP-Script im JavaScript auszuwerten. Im Idealfall sendet das PHP-Script "email wurde versendet" oder eben eine Fehlermeldung. Da ich mich aber absolut überhaupt nicht mit AJAX und JavaScript auskenne, soll das dann irgendwer anderes machen. Zur Zeit komme ich einfach nicht dazu, irgendwas Neues zu lernen.

Gruß thuemmy
 
Werbung:
Zurück
Oben