Всем привет, нормального ответа на мой вопрос я не нашел, поэтому задаю его здесь: HTML + ajax
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Отправка</title>
</head>
<body>
<form id="form" method="POST">
<input type="text" name="name" required="required"/>
<input type="text" name="phone" required="required"/>
<input type="submit" value="Заказать звонок"/>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#form").submit(function() { //устанавливаем событие отправки для формы с id=form
var form_data = $(this).serialize(); //собераем все данные из формы
$.ajax({
type: 'POST', //Метод отправки
url: 'send.php', //путь до php фаила отправителя
data: form_data,
success: function(data){ // сoбытиe пoслe удaчнoгo oбрaщeния к сeрвeру и пoлучeния oтвeтa
alert('все ок'); // пoкaжeм eё тeкст
}
});
});
});
</script>
</body>
</html>
Теперь PHP
<?
if((isset($_POST['name'])&&$_POST['name']!="")&&(isset($_POST['phone'])&&$_POST['phone']!="")){ //Проверка отправилось ли наше поля name и не пустые ли они
$to = 'vayka2@yandex.ru'; //Почта получателя, через запятую можно указать сколько угодно адресов
$subject = 'Обратный звонок'; //Загаловок сообщения
$message = '
<html>
<head>
<title>'.$subject.'</title>
</head>
<body>
<p>Имя: '.$_POST['name'].'</p>
<p>Телефон: '.$_POST['phone'].'</p>
</body>
</html>'; //Текст нащего сообщения можно использовать HTML теги
$headers = "Content-type: text/html; charset=utf-8 \r\n"; //Кодировка письма
$headers .= "From: Отправитель <from@example.com>\r\n"; //Наименование и почта отправителя
mail($to, $subject, $message, $headers); //Отправка письма с помощью функции mail
}
?>
Короче ребят спасайте уже 2 дня над ним бьюсь, и он не работает! Не работает именно сам Ajax, так как, если писать action, то php обрабатывает и отправляет письмо, но сам ajax не делает ничего. Что не так ? Все же правильно написано.
UPD: В отладчике, я ставлю брейк поинт, на ajax, скрипт начинает выполнятся в переменной form_data записываются мои данные, дальше дело переходит jquery страница обновляется и все. В консоле вот: TypeError: form.find is not a function
Вот эту строчку
$("#form").submit(function() {
Замените на эту
$("#form").submit(function(e) {
e.preventDefault()
preventDefault () - Отменяет событие, если оно отменяемое, без остановки дальнейшего распространения этого события. Источник
Или используте
<button type"button">Сохранить</button>
С событием
$('#form button').on('click', function () {
// Your code
});
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В документации Laravel Eloquent есть методы например Model::UpdateOrCreate(), но нету примеров, как использовать эти методы для множества строк, в stackoverflow нашел...
В шаблоне имеется следующий код, выводящий 6 последних новостей:
друзья! У меня реализовано пару парсеров, который проходят капчу и тянут информацию, что занимает очень много времениОсобенно, если на сайте...
Работаю с библиотекой PHPExcel в Wordpress нужно прочесть данные из excel файла, взял отсюда - https://packagistorg/packages/phpoffice/phpexcel Получаю ошибку