Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.01.2014, 00:57
Кандидат Javascript-наук
Отправить личное сообщение для zzzzzz Посмотреть профиль Найти все сообщения от zzzzzz
 
Регистрация: 25.09.2012
Сообщений: 111

Подождем сворачивание формы
Здравствуйте.

По задумке перед сабмитом формы я ее плавно сворачиваю
$('#form').slideUp();

и потом
return true;

чтобы форма ушла.

Отправка формы происходит сразу, не подождав пока закончится анимация

Как исправить? Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 25.01.2014, 06:34
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от zzzzzz
и потом
return true;

чтобы форма ушла.
Хах. Хитрый ты )) Функция должна вернуть результат (true или false) сразу же. Нельзя вернуть его "потом". Это основы программирования (любой язык, не только JS). Это даже невозможно написать никак в коде. То что ты пытаешься - если присмотришься - совсем другое. Например ты делаешь возврат из callback-функции, вызываемой по окончании анимации. Этот возврат происходит в библиотеку jQuery (а не в нативный код отправки формы браузером) и она никакого результата вызова не ожидает.
Возвращай сразу false. А по окончании анимации делай form.submit()
Но это вобще фиговый вариант: зачем юзера заставлять ждать ненужную ему анимацию? Отправляй лучше форму сразу через ajax.
__________________
В личку только с интересными предложениями

Последний раз редактировалось danik.js, 25.01.2014 в 06:37.
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2014, 13:36
Кандидат Javascript-наук
Отправить личное сообщение для zzzzzz Посмотреть профиль Найти все сообщения от zzzzzz
 
Регистрация: 25.09.2012
Сообщений: 111

Я что-то делаю неправильно
$('#form').slideUp('slow' , function(){

        $('#form form')[0].submit();
            
});
Ответить с цитированием
  #4 (permalink)  
Старый 27.01.2014, 14:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

zzzzzz,

<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script>
    $(function () {
    var f = $("#x");
    f.on("submit", function () {
        f.slideUp("slow", function () {
            f.off("submit").submit()
        });
        return false
    })
});
  </script>
</head>
<body>
    <form id="x" action="http://javascript.ru/forum/">
        <input name="">
        <input name="" type="submit" value="go">
    </form>
</body>
</html>

Последний раз редактировалось рони, 27.01.2014 в 14:09.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
Отправка данных формы AJAX`ом? Jopses jQuery 4 20.02.2013 12:34
в модальном окне не работает скрипт проверки формы necroms jQuery 1 11.03.2011 15:14
Валидация формы dmsuslov jQuery 4 05.11.2010 16:12
Простая проверка формы. Добавить "динамики". Jurasmi Элементы интерфейса 3 07.04.2010 16:48