Добрый день. Я не программист, языков не знаю. ТЗ - чтобы юзер что-то написал в форме и это пришло куда-нибудь, хоть на имейл, хоть в телеграмм, хоть морзянкой.
Имею такую форму обратной связи:
HTML:
<form class="request" method="POST" onsubmit="return false;">
<div class="nameAndMail">
<div class="name">
<h3>Имя*</h3>
<input id="name" class="checkValidation" name="name" type="text" autocomplete="on"
minlength="2" maxlength="30" required
title="Как к Вам обращаться">
</div>
<div class="mailOrPhone">
<h3>Почта</h3>
<input id="email" class="checkValidation" name="email" type="text" autocomplete="on"
minlength="5" maxlength="30" required title="Ваша почта">
</div>
</div>
<div class="message">
<h3>Сообщение*</h3>
<textarea id="message" class="checkValidation" name="message" minlength="5"
maxlength="1000" required title="Пару слов о Вашем деле"></textarea>
</div>
<input type="submit" id="submit" class="submit" value="Отправить">
<div class="thank">Спасибо засообщение!</div>
<div class="offline">Отправить сообщение не получается, т.к. <strong> отсутствует
интернет-подключение </strong></div>
</form>
</div>
</div>
JS к ней:
function (e, t, o) {
"use strict";
Object.defineProperty(t, "__esModule", {
value: !0
});
var n = i(o(0)),
s = i(o(12));
function i(e) {
return e && e.__esModule ? e : {
default: e
}
}
var l = (0, n.default)(".contacts"),
a = (0, n.default)("#submit"),
d = document.querySelectorAll(".checkValidation"),
r = document.querySelector(".contacts .year"),
u = {
state: {
onContacts: !1
},
show: function () {
l.classList.add("setDeep"), l.classList.add("show"), l.classList.add("animate"), setTimeout(function () {
l.classList.add("hideUnnecessaryElements")
}, 510), u.state.onContacts = !0
},
hide: function () {
l.classList.remove("show"), l.classList.remove("animate"), l.classList.remove("hideUnnecessaryElements"), u.state.onContacts = !1
},
scale: function () {
l.classList.add("scale")
},
removeScale: function () {
l.classList.remove("scale")
},
sendData: function (e) {
if (u.checkValidation()) {
if (console.log("Send data: \n"), setTimeout(function () {
console.log(i)
}, 500), 0 == navigator.onLine) return l.classList.add("offline"), void setTimeout(function () {
l.classList.remove("offline")
}, 5e3);
var t = document.getElementById("name").value,
o = document.getElementById("email").value,
n = document.getElementById("message").value;
if ("" != n && "" != o && "" != n) {
var s = window.XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject("Microsoft.XMLHTTP"),
i = "Name: " + t + "\n\nContacts: " + o + "\n\nMessage: " + n,
a = "message=" + i;
s.open("POST", "https://formfor.site/send/ЗДЕСЬ КЛЮЧ, !0), s.setRequestHeader("Content-type", "application/x-www-form-urlencoded"), s.send(a), e.preventDefault(), document.getElementById("name").value = "", document.getElementById("email").value = "", document.getElementById("message").value = "", l.classList.add("success"), setTimeout(function () {
l.classList.remove("success")
}, 5e3)
}
}
},
checkValidation: function () {
for (var e = 0; e < d.length; e++) return !!d[d.length - 1].checkValidity()
},
setListeners: function () {
a.addEventListener("click", function (e) {
u.sendData(e)
})
},
resetState: function () {
(0, s.default)(l, "moveShift", "0px")
},
setYear: function () {
var e = (new Date).getFullYear();
r.innerHTML = e
},
init: function () {
u.setListeners(), u.setYear()
}
};
t.default = u
},
Пролазил пол дня на форумах - написал mailer php такой
<?php
$to = "1232131232121312x@gmail.com"; // емайл получателя данных из формы
$message = "Имя отправителя: ".$_POST['name']."<br>";//присвоить переменной значение, полученное из формы name=name
$message .= "Его е-mail: ".$_POST['email']."<br>"; //полученное из формы name=email
$message .= "Сообщение: ".$_POST['message']."<br>"; //полученное из формы name=message
$headers = 'MIME-Version: 1.0' . "\r\n"; // заголовок соответствует формату плюс символ перевода строки
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; // указывает на тип посылаемого контента
mail($to, $message, $headers); //отправляет получателю на емайл значения переменных
?>
Он, само собой не работает. Пробовал и в JS его сунуть, и в HTML. После нашел вариант с сайтом
formfor.site , но его не пускает с ошибкой Cross-Origin Read Blocking (CORB) blocked cross-origin response ....... Код не мой, понятия не имею как сделать, чтобы заработало
Подозреваю, что вопрос в этой части JS
sendData: function (e) {
if (u.checkValidation()) {
if (console.log("Send data: \n"), setTimeout(function () {
console.log(i)
}, 500), 0 == navigator.onLine) return l.classList.add("offline"), void setTimeout(function () {
l.classList.remove("offline")
}, 5e3);
var t = document.getElementById("name").value,
o = document.getElementById("email").value,
n = document.getElementById("message").value;
if ("" != n && "" != o && "" != n) {
var s = window.XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject("Microsoft.XMLHTTP"),
i = "Name: " + t + "\n\nContacts: " + o + "\n\nMessage: " + n,
a = "message=" + i;
s.open("POST", "https://formfor.site/send/2qM2LIgD2dtDoqiOMw0oAPqA0lY1Uf", !0), s.setRequestHeader("Content-type", "application/x-www-form-urlencoded"), s.send(a), e.preventDefault(), document.getElementById("name").value = "", document.getElementById("email").value = "", document.getElementById("message").value = "", l.classList.add("success"), setTimeout(function () {
l.classList.remove("success")
}, 5e3)
}
}
},