Hi,
ich habe ein Kontaktformular:
Welches ich per JavaScript/Ajax wegschicke:
Ich denke wie meine mailer.php aussieht ist egal. Auf jeden Fall lande ich später auf der.
Ich vermute den Fehler beim $(form).submit()...$(form)[0] bringt auch nichts.
Hat einer eine Idee oder fällt einem etwas auf?
Es kommt auf das $(form).submit() und auf das event.preventDefault() drauf an.
Ein
hat leider auch nichts gebracht...sobald ich auf Senden klicke, ist er auf der mailer.php.
Debugger kann ich leider nicht setzen, um zu sehen was event ist.
Grüße
Benny
ich habe ein Kontaktformular:
HTML Code:
<form class="form-horizontal" id="ajax-contact" method="post" role="form" action="mailer.php"> ...abgekürzt <input id="submit" name="submit" type="submit" value="Absenden" class="btn btn-submit btn-lg btn-block"> </form>
Code:
(() => {
const form = document.getElementById("ajax-contact");
const result = document.getElementById("contactResult");
// Set up an event listener for the contact form
$(form).submit((event) => {
// Stop the browser from submitting the form
event.preventDefault();
// Serialize the form data
const formData = $(form).serialize();
// Submit the form using AJAX
$.ajax({
type: 'POST',
url: $(form).attr('action'),
data: formData
})
.done((response) => {
console.log("Kontaktformular wurde erfolgreich weggeschickt!");
// Clear the form
const name = document.getElementById("name");
const email = document.getElementById("email");
const message = document.getElementById("message");
const elements = [name, email, message];
elements.forEach((el) => {
el.value = "";
});
// Give user feedback
result.style.display = "";
result.innerText = response;
setTimeout(() => {
$("#contactResult").fadeOut();
}, 3000);
})
.fail((data) => {
console.log(`Kontaktformular error: ${data}`);
// Give user feedback
result.classList.replace("alert-success", "alert-danger");
result.style.display = "";
result.innerText = data;
setTimeout(() => {
$("#contactResult").fadeOut();
}, 3000);
});
});
});
Ich vermute den Fehler beim $(form).submit()...$(form)[0] bringt auch nichts.
Hat einer eine Idee oder fällt einem etwas auf?
Es kommt auf das $(form).submit() und auf das event.preventDefault() drauf an.
Ein
Code:
setTimeout(() => {
}, 10000);
Debugger kann ich leider nicht setzen, um zu sehen was event ist.
Grüße
Benny