Добрый день, не могу понять как организовать переход на внутренюю страницу Thanks Page. После удачной отправки формы, вся страница вставляется в alert, а нужно чтобы делался редирект. Думаю все из за этого куска кода "alert(http.responseText);", подскажите аналоги.
<form id="ajax-contact-form" enctype="multipart/form-data" method="post">
<input id="nameFF" name="nameFF" type="text" placeholder="Ваше имя" minlength="2" maxlength="10" required>
<input id="telFF" name="telFF" type="tel" placeholder="Ваш телефон" pattern="[+][^[ 0-9]+$]" minlength="10" maxlength="13" required>
<div class="upload-file__wrapper">
<input id="fileFF" name="fileFF" type="file" class="upload-file__input" multiple
accept="image/jpeg,image/png,image/gif">
<label class="upload-file__label" for="fileFF">
<span class="upload-file__text">Прикрепить файл</span>
</label>
</div>
<button class="btn btn-form df" type="submit" id="submitFF">Отправить форму</button>
</form>
<?php
if (isset ($_POST['telFF'])) {
$to = "romaishytin@gmail.com";
$from = "support@tpverstak.ru";
$subject = "Заполнена контактная форма на сайте ".$_SERVER['HTTP_REFERER'];
$message = "\nИмя пользователя: ".$_POST['nameFF']."\nТелефон пользователя ".$_POST['telFF']."\n\nАдрес сайта: ".$_SERVER['HTTP_REFERER'];
$boundary = md5(date('r', time()));
$filesize = '';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "From: " . $from . "\r\n";
$headers .= "Reply-To: " . $from . "\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$message="
Content-Type: multipart/mixed; boundary=\"$boundary\"
--$boundary
Content-Type: text/plain; charset=\"utf-8\"
Content-Transfer-Encoding: 7bit
$message";
if(is_uploaded_file($_FILES['fileFF']['tmp_name'])) {
$attachment = chunk_split(base64_encode(file_get_contents($_FILES['fileFF']['tmp_name'])));
$filename = $_FILES['fileFF']['name'];
$filetype = $_FILES['fileFF']['type'];
$filesize = $_FILES['fileFF']['size'];
$message.="
--$boundary
Content-Type: \"$filetype\"; name=\"$filename\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"$filename\"
$attachment";
}
$message.="
--$boundary--";
if ($filesize < 10000000) { // проверка на общий размер всех файлов. Многие почтовые сервисы не принимают вложения больше 10 МБ
mail($to, $subject, $message, $headers);
header('Location: thank-you.html');
} else {
echo 'Извините, письмо не отправлено. Размер всех файлов превышает 10 МБ.';
}
}
/* https://api.telegram.org/bot1322118984:AAH4ljOF0Ljs3qBcS-IfJq4sOhYT69Iv3Ro/getUpdates,
где, XXXXXXXXXXXXXXXXXXXXXXX - токен вашего бота, полученный ранее */
$name = $_POST['nameFF'];
$phone = $_POST['telFF'];
$token = "1322118984:AAH4ljOF0Ljs3qBcS-IfJq4sOhYT69Iv3Ro";
$chat_id = "-426174005";
$arr = array(
'Имя пользователя: ' => $name,
'Телефон: ' => $phone
);
foreach($arr as $key => $value) {
$txt .= "<b>".$key."</b> ".$value."%0A";
};
$sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");
//if ($sendToTelegram) {
// header('Location: thank-you.html');
//} else {
// echo "Error";
//}
?>
$(function() {
document.getElementById('ajax-contact-form').addEventListener('submit', function(evt){
var http = new XMLHttpRequest(), f = this;
var th = $(this);
evt.preventDefault();
http.open("POST", "contact.php", true);
http.onreadystatechange = function() {
if (http.readyState == 4 && http.status == 200) {
alert(http.responseText);
if (http.responseText.indexOf(f.nameFF.value) == 0) { // очистить поля формы, если в ответе первым словом будет имя отправителя (nameFF)
th.trigger("reset");
}
}
}
http.onerror = function() {
alert('Ошибка, попробуйте еще раз');
}
http.send(new FormData(f));
}, false);
});