Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не работает отправка формы через ajax (https://javascript.ru/forum/jquery/49667-ne-rabotaet-otpravka-formy-cherez-ajax.html)

Asrover 23.08.2014 12:20

Не работает отправка формы через ajax
 
Всем привет. Есть такой код.
<form action="" method="post"> 
<input type="text" name="name" id="name" placeholder="Введите ваше имя..."></br>
<input type="submit" onclick="norestart();" value="Отправить заказ">
</form><div class="result"></div>


function norestart() {
var data = $('#name').val();
       $.ajax({
                type: "POST",
                url: "../php/form-processing.php",
                data: "data="+data,
                success: function() {
                        $(".result").empty();
                        $(".result").html("Сообщение отправлено!");
                }     
               
        });
}


<?php
$data = $_POST[data];
if (mail('mymail@mail.ru','Re: Данные отправлены вашей контактной формой',"
	Имя: $data"))
	$a=true; 
if (isset($a)) { 
echo ('Спасибо! Ваше сообщение успешно отправлено!');
}
?>


При нажатии на кнопку, данные формы просто сбрасываются. В переменную data данные приходят нормально. Все пути проверял. Без скрипта обработчик php работает правильно. В чем ошибка?

Rise 23.08.2014 12:30

Asrover, если данные сбрасываются, то каким образом в переменную data данные приходят нормально?

Asrover 23.08.2014 15:20

Выводил содержимое переменной data после строчки
var data = $('#name').val();

Rise 23.08.2014 16:04

Asrover,
<form id="forma">
	<input type="text" name="data" placeholder="Введите ваше имя..."><br>
	<input type="submit" value="Отправить заказ">
</form>
<div id="result"></div>

$(function(){
	$('#forma').submit(function(e){
		e.preventDefault();
		$.ajax({
			type: 'post',
			url: '../php/form-processing.php',
			data: $(this).serialize(),
			success: function(data){
				$('#result').html(data);
			}    
		});
	});
});

<?php
if (isset($_POST['data'])) {
	$data = $_POST['data'];
	$a = mail('mymail@mail.ru','Re: Данные отправлены вашей контактной формой','Имя: '.$data);
	if ($a) {
		echo 'Спасибо! Ваше сообщение успешно отправлено!';
	} else {
		echo 'Ваше сообщение не отправлено!';
	}
}
?>

Asrover 23.08.2014 16:23

Теперь при нажатии на кнопку вообще ничего не происходит.

Asrover 23.08.2014 16:28

Rise,
Спасибо большое! Заработало)

Rise 23.08.2014 16:33

Asrover,
1. jquery подключен?
2. путь '../php/form-processing.php' правильный?

Asrover 23.08.2014 16:38

Rise,
Нужно было написать php/ без ../php и тогда ваш код работает. Я думал нужно было подняться на уровень вверх, так как обработчик и скрипт находятся в разных папках.

Rise 23.08.2014 16:44

Asrover, ну так пляшут от страницы с формой а не от скрипта.


Часовой пояс GMT +3, время: 09:51.