Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2012, 14:05   #1
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
Смущение Обновляется страница.

Код HTML:
<head>
<script type="text/javascript" src="/scripts/js/jquery.js"></script>
<script>
      $('#add-s').submit(function(event) {
        event.preventDefault();
        var $form = $(this), 
        url = $form.attr( 'action' );
        $.post(url, 
         $form.serialize(),
          function( data ) { 
            $("#TABL").html('Ответ от сервера получен успешно.');
          }
        );
      });
</script>
</head>

<form id="add-s" action="" method="post">
    <input   type="submit" class="submit" value="Отправить"/>
</form>
<div id="TABL"></div>
Скажите пожалуйста, в чем ошибка. Обновляется страница, не должно.
Predator199 вне форума Ответить с цитированием
Старый 03.12.2012, 15:22   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

return false в конце поставь
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 03.12.2012, 18:03   #3
Predator199
Форумчанин
 
Аватар для Predator199
 
Регистрация: 26.01.2012
Сообщений: 648
По умолчанию

По прежнему обновляет.
Predator199 вне форума Ответить с цитированием
Старый 03.12.2012, 18:09   #4
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Код:
<head>
<script type="text/javascript" src="/scripts/js/jquery.js"></script>
</head>

<form id="add-s" action="" method="post">
    <input   type="submit" class="submit" value="Отправить"/>
</form>
<div id="TABL"></div>
<script>
      $('#add-s').submit(function(event) {
        event.preventDefault();
        var $form = $(this), 
        url = $form.attr( 'action' );
        $.post(url, 
         $form.serialize(),
          function( data ) { 
            $("#TABL").html('Ответ от сервера получен успешно.');
          }
        );
        return false;
      });
</script>
Cronos20 вне форума Ответить с цитированием
Старый 04.12.2012, 12:03   #5
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Predator199 Посмотреть сообщение
По прежнему обновляет.
Значит не там поставил
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 05.12.2012, 20:54   #6
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
return false в конце поставь
Код:
e.preventDefault() === return false; // в данном случае. Не?
http://learn.javascript.ru/play/8F9koc

Цитата:
Сообщение от Predator199 Посмотреть сообщение
Скажите пожалуйста, в чем ошибка. Обновляется страница, не должно.
в отладчике посмотри. На первый взгляд все должно быть нормально.
Тишина – самый громкий звук

Последний раз редактировалось nerv; 05.12.2012 в 20:56.
nerv вне форума Ответить с цитированием
Старый 06.12.2012, 12:49   #7
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Отладчик тут не помощник, ибо код валиден.
Тут как говориться "компьютер делает то, что вы ему сказали, а не то, что вы хотели бы чтобы он сделал" (с) кто-то великий.

тут при отправки формы запускается событие onsubmit, выполняются присвоения, начинается отправка AJAX-запроса... и...
обработчик сабмита завершается, выполняется стандартное действие — сабмит, который по своей природе редиректит.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 06.12.2012, 14:03   #8
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Господа, Вы вообще о чем?
У ТС в коде submit навешивается в коде на форму, которой еще нет на странице. Поэтому отправку формы вообще никто не перехватывает и страница спокойно перезагружается. И никакой философии.
Cronos20 вне форума Ответить с цитированием
Старый 07.12.2012, 11:17   #9
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
Господа, Вы вообще о чем?
У ТС в коде submit навешивается в коде на форму, которой еще нет на странице. Поэтому отправку формы вообще никто не перехватывает и страница спокойно перезагружается. И никакой философии.
хо-хо) и то верно)
Пропустил... привык что скрипты всегда в конце страницы (у меня)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 08.12.2012, 03:48   #10
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
Господа, Вы вообще о чем?
я о том, что
Код:
event.preventDefault();
это все равно, что
Код:
return false;
в данном случае, и первое у него в коде имеется.

http://api.jquery.com/event.preventDefault/
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не обновляется ячейка данных MrBrain SQL, базы данных 3 23.09.2012 09:45
не обновляется DataGridView Kukurudza C# (си шарп) 0 11.03.2012 12:10
страница автоматически обновляется через 1 секунду только один раз Zeron JavaScript, Ajax 5 14.06.2010 08:18
ComboBox.Text не обновляется zoidberg948 Общие вопросы .NET 1 19.02.2010 15:50
Dr. Web 5.0 не обновляется... Smiley Безопасность, Шифрование 9 24.05.2009 15:11