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






