Показать сообщение отдельно
  #1 (permalink)  
Старый 11.02.2016, 18:36
Интересующийся
Отправить личное сообщение для seahunter Посмотреть профиль Найти все сообщения от seahunter
 
Регистрация: 15.12.2015
Сообщений: 10

Форма обратной связи
Здравствуйте, ув. сообщество. Нужна помощь. Есть форма обратной связи банально простая.
<form id="topform">
	<div class="form-group">
		<input type="text" class="form-control" name="name" placeholder="Ваше имя">
	</div>
	<div class="form-group">
		<input type="number" class="form-control" name="phone" id="" placeholder="Ваш телефон">
	</div>					

	<button type="submit" class="btn btn-primary">Расчитать стоимость</button>
</form>


Так же есть аjax скрипт который обрабатывает данные с формы и отправляет их в файл который отвечает за отправку письма
$(document).ready(function(){
	    $("#topform").submit(function() { //устанавливаем событие отправки для формы с class=sendform
	    	    var form_data = $(this).serialize(); //собераем все данные из формы
	            $.ajax({
	            type: "POST", //Метод отправки
	            url: "send.php", //путь до php фаила отправителя
	            data: form_data
	        })
			.done(function() {
				console.log("success");
			})
			.fail(function() {
				console.log("error");
			})
			.always(function() {
				console.log("complete");
			});
	    });
	});


Форма отправляется, сообщения приходтя на почту. Но вот собственно в чём проблема:
1) В консоле показывает что срабатывает действие .fail и .always. По поводу .done - XHR failed loading: POST - ответ.
2) После отправки самой формы меня перекидывет в начало страницы.
3) В url дописываются мои данные: ?name=test&phone=1234.

По поводу последних двух пунктов не уверен, может так и должно быть, но хотелось бы чтобы я оставался на уровне формы отправки, и url был пустой.

За ранее спасибо за помощь.
Ответить с цитированием