Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отправка данных формы без перезагрузки страницы
 
 автор: BeyondBelieff   (04.06.2010 в 17:21)   письмо автору
 
 

Друзья, помогите чайнику, пожалуйста
Мучаю формы и jquery. Цель - отправка данных без перезагрузки страницы.
Простейший код, фигурирующий в статьях на эту тему:

<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
</head>
<body>
<form id="myForm" action="comment.php" method="post">
Имя: <input type="text" name="name" />
Комментарий: <textarea name="comment"></textarea>
<input type="submit" value="Комментировать" />
</form>
<script type="text/javascript">
$(document).ready(function(){
$("#myForm").ajaxForm(function() {
alert("Спасибо за комментарий!");
});
});
</script>
</body>
</html>

Собственно, вопрос: где должен находиться обработчик формы? В этом же файле или в другом, как при отправке "обычным" способом? Ни так, ни так приемлемого результата у меня не получилось.

  Ответить  
 
 автор: sim5   (04.06.2010 в 17:28)   письмо автору
 
   для: BeyondBelieff   (04.06.2010 в 17:21)
 

А без Ajax формы можете отправлять и обрабатывать? При этом где должен быть обработчик формы?

  Ответить  
 
 автор: Tonik992   (04.06.2010 в 17:39)   письмо автору
 
   для: sim5   (04.06.2010 в 17:28)
 

-

  Ответить  
 
 автор: BeyondBelieff   (05.06.2010 в 00:08)   письмо автору
 
   для: sim5   (04.06.2010 в 17:28)
 

Если без ajax, то форма в одном файле, а обработчик - в другом. Всегда делала только так

  Ответить  
 
 автор: sim5   (05.06.2010 в 04:20)   письмо автору
 
   для: BeyondBelieff   (05.06.2010 в 00:08)
 

Где это вы такое почерпнули, и по каким законам при ajax обработчик должен быть в каком-то особенном месте?
<form id="myForm" action="comment.php" method="post"> - вот где прописан ваш обработчик формы, и это может быть и адрес страницы породившей форму. Ajax технология в этом плане тоже ничем выдающимся не отличается, вы вправе решать куда помещать обработчик - в страницу родителя, либо иную.

  Ответить  
 
 автор: Ирбис   (05.06.2010 в 08:25)   письмо автору
 
   для: BeyondBelieff   (04.06.2010 в 17:21)
 

Код, который вы написали - пример того, как можно работать с jQuery плагином form. Сам часто этот плагин использую - очень удобный инструмент. Советую расположить обработчик и саму страницу с формой в разных файлах, на мой взгляд так удобнее. AJAX разрешает вам располагать обработчик формы в любом месте, где удобно.

То, что выделено жирным шрифтом
<script type="text/javascript">
$(document).ready(function(){
  $("#myForm").ajaxForm(function() {
    alert("Спасибо за комментарий!");
  }
);
});
</script>


является callback-функцией. Т.е. функцией, которая вызывается, когда страница с формой получила ответ от обработчика.

Тут можете найти более подробную информацию по плагину form:
http://jquery.malsup.com/form/

  Ответить  
 
 автор: BeyondBelieff   (05.06.2010 в 13:51)   письмо автору
 
   для: BeyondBelieff   (04.06.2010 в 17:21)
 

Во всем разобралась, sim5, Ирбис, спасибо большое!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования