MaxiRush
Новичок
Добрый день, друзья. Рылся, рылся я в интернете несколько дней, не помогло. Обращаюсь к Вам: на сайте есть форма обратной связи, но проблема в том, что можно хоть 25 раз нажать оправить - и на почту придет 25 сообщений. Думал, думал как решить, лучшее, что пришло в голову - реализовать через onclick неактивную кнопку(т. е. после одного нажатия кнопка становится неактивной). Однако в таком случае после нажатия кнопка просто становится неактивной, а отправка письма не происходит. Форумчане, помогите хоть советом, что можно сделать.
Сам скрипт
Форма обратной связи
Файл contacts.php
Сам скрипт
PHP:
<script>
document.getElementById('feedback-form').onsubmit = function(){
var http = new XMLHttpRequest();
http.open("POST", "/contacts.php", true);
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http.send("nameFF=" + this.nameFF.value + "&contactFF=" + this.contactFF.value + "&messageFF=" + this.messageFF.value);
http.onreadystatechange = function() {
if (http.readyState == 4 && http.status == 200) {
alert(http.responseText + ', Ваше сообщение получено.\nНаши специалисты ответят Вам в течении 2-х дней.\nБлагодарим за интерес к нашей фирме!');
}
}
http.onerror = function() {
alert('Извините, данные не были переданы');
}
return false;
}
</script>
HTML:
<form method="POST" id="feedback-form" style="text-align: center">
<input type="text" name="nameFF" required placeholder="Ваше имя" x-autocompletetype="name">
<input type="email" name="contactFF" required placeholder="Email для связи" x-autocompletetype="email">
<textarea name="messageFF" required rows="5" placeholder="Сообщение"></textarea>
<input type="submit" value="Отправить" onclick="this.disabled=true;">
<div class="social1">
<a href="#" class="goodshare" data-type="vk"> <img src="/bitrix/js/goodshare/icons/vk.png"></a>
<a href="#" class="goodshare" data-type="ok"> <img src="/bitrix/js/goodshare/icons/ok.png"></a>
<a href="#" class="goodshare" data-type="fb"> <img src="/bitrix/js/goodshare/icons/fb.png"></a>
</div>
<div class="social2">
<a href="#" class="goodshare" data-type="tw"> <img src="/bitrix/js/goodshare/icons/tw.png"></a>
<a href="#" class="goodshare" data-type="gp"> <img src="/bitrix/js/goodshare/icons/gp.png"></a>
<a href="#" class="goodshare" data-type="li"> <img src="/bitrix/js/goodshare/icons/li.png"></a>
</div>
</form>
Файл contacts.php
PHP:
<?
if (array_key_exists('messageFF', $_POST)) {
mail ("l*******[email protected]",
"Обращение с сайта ***********",
"Имя: ".$_POST['nameFF']."\nEmail: ".$_POST['contactFF']."\nСтраница: ".$_SERVER['HTTP_REFERER']."\nСообщение: ".$_POST['messageFF']);
echo $_POST['nameFF'];
}
?>