Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.11.2013, 15:58
Интересующийся
Отправить личное сообщение для raffx Посмотреть профиль Найти все сообщения от raffx
 
Регистрация: 14.05.2012
Сообщений: 20

Отправка e-mail без перезагрузки страницы
Добрый день.
Пытаюсь сделать отправку формы на e-mail без перезагрузки страницы по этому туториалу.

Всё работает кроме одного: при клике "Отправить", вместо того, чтобы в id='result' написать "Сообщение отправлено", у меня открывается страница send.php, которая прописана в myForm action. В чём беда не могу понять.

html
<div id='send-window'>
	<form id="myForm" action="assets/scripts/send.php" method="post">
		<input id='email' type="text" name="sub" value="Ваш e-mail"
		onfocus="if (this.value=='Ваш e-mail') this.value='';" onblur="if (this.value=='') this.value='Ваш e-mail';"/>
		<textarea class='message' name="mes" onfocus="if (this.value=='Сообщение') this.value='';"
		onblur="if (this.value=='') this.value='Сообщение';">Сообщение</textarea>
		<input class='button' type="submit" value="Отправить" />
	</form>

    <div id="result"></div>
	<div id="close" onClick="hideSendWindow()">закрыть</div>
</div>


javsScript
<script src="assets/scripts/jquery.form.js"></script>
<script src="https://code.jquery.com/jquery.js"></script>
	<script type="text/javascript">
		// ожидаем загрузки всего документа
		$(document).ready(function() {
	  		// назначаем 'myForm' обрабатываемой формой и задаем ей простецкую функцию
	  		$('#myForm').ajaxForm(function() {
				document.getElementById("result").innerHTML="Сообщение отправлено"
				setTimeout(function() { //скрываем окошко после отправки
		  			$('#send-window').fadeOut('fast');
				}, 1500); // время в миллисекундах
	  		});
		});
	</script>


send.php
<?
$to = "raffx@yandex.ru";
$sub = $_POST['sub']; 
$mes = $_POST['mes']; 
mail($to,"$sub",$mes);
echo "Сообщение отправлено";
?>


Как сделать так, чтобы страница не перезагружалась, а в <div id="result"> появилась сообщение об успешной отправке?
Ответить с цитированием
  #2 (permalink)  
Старый 26.11.2013, 16:05
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,253

Сообщение от raffx
Как сделать так, чтобы страница не перезагружалась
Таки не отправлять форму...
Ответить с цитированием
  #3 (permalink)  
Старый 26.11.2013, 16:13
Интересующийся
Отправить личное сообщение для raffx Посмотреть профиль Найти все сообщения от raffx
 
Регистрация: 14.05.2012
Сообщений: 20

Волшебно!!!
Poznakomlus, спасибо огромное! Проблема была именно в последовательности jQuery и его плагина. Пол дня искал проблему...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перезагрузка jquery по событию click, без полной перезагрузки страницы Vitaliy88 Общие вопросы Javascript 4 22.11.2012 12:35
Как можно сделать подгрузку и смену изображения без перезагрузки страницы с другого Евгений Болгов jQuery 11 21.10.2010 18:18
Подскажите как в VLC плеере переключать канал без перезагрузки страницы? mff Events/DOM/Window 0 10.05.2010 17:28
Автообновление <div> без перезагрузки страницы Antihrist AJAX и COMET 14 28.07.2008 06:06