Hi Leute,
ich habe ein Problem mit meinem neuen AJAX Formular.
Und zwar möchte ich PER JS / Ajax ein Formular abschicken und entweder Fehler ausgeben, wenn nicht alle nötigen Daten eingegeben wurden, oder eine Erfolgsmeldung ausgeben.
Hier mal der grobe Aufbau:
Hier mal ein Auszug aus der ajax.submitForm.php
Ich habe bis eben gedacht, dass ich per return oder echo das ausgeben muss, was ich in meinem response-text erhalten möchte ...
Also ich möchte in 'success: function (text) ' (text) meine Ausgabe aus der PHP Datei erhalten, damit ich nach dem Abschicken des Formulars eine individuelle Erfolgsmeldung ausgeben kann. Aber wie gesagt ... bei mir bleibt der Response Text konsequent leer ... Kann mir jemand von euch sagen, was ich falsch mache ?
P.S. Die Ajax Anfrage funktioniert übrigens wunderbar ... mein PHP Code wird erfolgreich abgeschickt.
mfg DiDi
ich habe ein Problem mit meinem neuen AJAX Formular.
Und zwar möchte ich PER JS / Ajax ein Formular abschicken und entweder Fehler ausgeben, wenn nicht alle nötigen Daten eingegeben wurden, oder eine Erfolgsmeldung ausgeben.
Hier mal der grobe Aufbau:
HTML:
<form name="kformular" id="kformular" method="post" onsubmit="return checkForm(this);">
[...]
</form>
Code:
function checkForm(f){
var name;
var error = 0;
var auswahl = 0;
var error_text = '';
error_content = document.getElementById('error_content');
$('#error_box').css('display','none');
[Eingabeprüfung]
if (error > 0) {
alertBasicErrorMessage(error_text)
return false;
}
else {
submitAjaxForm(f);
return false;
}
}
function submitAjaxForm(f) {
form_id = f.id;
data_vars = $('#'+form_id).serialize();
var response = ''
//Icon während des Requests zentrieren und einblenden
centerElement('ajax_loader');
$('#ajax_loader').show();
//Request abschicken
response = $.ajax({
//Ort des Skriptes in dem die per GET übertragenen Daten verarbeitet werden sollen
url: "http://w00d47e1.dd21020.kasserver.com/modules/ajax.submitForms.php",
//Angabe der GET Methode, auch POST wäre möglich. Allerdings nur sinnvoll
//bei größeren Datenmengen
type: "GET",
//async: false,
//Daten die gesendet werden sollen
data: data_vars,
//bei Antwort des Requests (Response)
success: function (text) {
//wenn saveData.php true bzw. den Status 1 zurückliefert
f.reset();
}
});
$('#ajax_loader').hide();
//alert(String(response));
Hier mal ein Auszug aus der ajax.submitForm.php
PHP:
if ($_REQUEST['form_type'] == 'immo_direkt') {
$MAIL->send_mail($mailName, $mailAbsender, $mailSubject, $message, $mailEmpf, '');
return addslashes('Vielen Dank für Ihre Objektanfrage. Wir werden uns schnellstmöglicht bei Ihnen melden.');
}
Ich habe bis eben gedacht, dass ich per return oder echo das ausgeben muss, was ich in meinem response-text erhalten möchte ...
Also ich möchte in 'success: function (text) ' (text) meine Ausgabe aus der PHP Datei erhalten, damit ich nach dem Abschicken des Formulars eine individuelle Erfolgsmeldung ausgeben kann. Aber wie gesagt ... bei mir bleibt der Response Text konsequent leer ... Kann mir jemand von euch sagen, was ich falsch mache ?
P.S. Die Ajax Anfrage funktioniert übrigens wunderbar ... mein PHP Code wird erfolgreich abgeschickt.
mfg DiDi