Js senden keine Post-Anfrage
Posted: 13 Jan 2025, 07:19
Ich habe ein Formular auf der Website, das vor den Designänderungen angeblich funktioniert hat. Dem Formular ist ein Captcha beigefügt, aber aus irgendeinem Grund funktioniert das JS-Skript, das die Formulardaten an den Server sendet, nach dem Drücken der Schaltfläche nicht. Ich kann nicht verstehen, warum es nicht funktioniert.
Ich bin neu Da ich dieses Unternehmen nicht kenne und niemanden habe, der meine Freunde nach diesem Problem fragen könnte, wäre ich für Hilfe sehr dankbar!
HTML:
JS:
Ich habe versucht, die Namen der Platzhalter und die ID der Schaltfläche zu ändern, aber das Skript funktioniert einfach nicht.
UPDATE:
Bisher habe ich die neuesten Optionen aktualisiert, mit denen alles funktionieren sollte, aber der js-Code nicht aufgerufen wird, ein vollständiges Formular hinzugefügt und das Captcha entfernt
Ich bin neu Da ich dieses Unternehmen nicht kenne und niemanden habe, der meine Freunde nach diesem Problem fragen könnte, wäre ich für Hilfe sehr dankbar!
HTML:
Code: Select all
Імʼя
Телефон
Відправити
заявку
Code: Select all
$("#btnRequest").on("click", function (e) {
console.log("12");
e.preventDefault(); //Здесь внимательно!!!!!!!!!!!! Форма не пашет по дефолту!!!
let form = $(this); // запишем форму, чтобы потом не было проблем с this
let error = false;
if (validText($("#fio")) && validPhone($("#phone"))) {
console.log("Here must be ajax request");
var fio = $("#fio").val(),
phone = $("#phone").val();
if (!error) {
form.find("input, textarea").each(function () {
// пробежим по каждому полю в форме
if ($(this).val() == "") {
// если находим пустое
alert('Заполните поле "' + $(this).attr("placeholder") + '"!'); // говорим заполняй!
error = true; // ошибка
}
});
var data = form.serialize();
//console.log(street+' '+building+' '+room+' '+fio+' '+phone+' '+tarif);
$.ajax({
// инициализируем ajax запрос
type: "POST", // отправляем в POST формате, можно GET
url: "send.php", // путь до обработчика, у нас он лежит в той же папке
dataType: "json", // ответ ждем в json формате
data: {
usr_fio: fio,
usr_phone: phone,
}, // данные для отправки
beforeSend: function (data) {
// событие до отправки
form.find("#btnRequest").attr("disabled", "disabled"); // например, отключим кнопку, чтобы не жали по 100 раз
},
success: function (data) {
// событие после удачного обращения к серверу и получения ответа
if (data["error"]) {
// если обработчик вернул ошибку
alert(data["error"]); // покажем её текст
} else {
// если все прошло ок
alert("Лист відправлено! З Вами зв'яжуться!"); // пишем что все ок
}
},
error: function (xhr, ajaxOptions, thrownError) {
// в случае неудачного завершения запроса к серверу
alert(xhr.status); // покажем ответ сервера
alert(thrownError); // и текст ошибки
},
complete: function (data) {
// событие после любого исхода
form.find("#btnRequest").prop("disabled", false); // в любом случае включим кнопку обратно
},
});
} else {
console.log("Something went wrong..");
}
}
});
UPDATE:
Bisher habe ich die neuesten Optionen aktualisiert, mit denen alles funktionieren sollte, aber der js-Code nicht aufgerufen wird, ein vollständiges Formular hinzugefügt und das Captcha entfernt