Здравствуйте друзья.
Собственно вопрос... Есть форма, изначально скрытая на страннице. И есть кнопка "Написать нам". По клику на кнопку должен отработать скрипт, и форма плавно выползает в зону видимости. Если на кнопку кликнуть снова, форма должна снова скрыться.
Скрипт работает, по клику форма то уезжает, то показывается снова. Но если мы попробуем отправить форму через ajax, например с незаполненными полями, то в форме появиться сообщение что поля не заполнены, и по нажатию на кнопку форма уже не скрывается, т.е. скрипт для сокрытия формы не отрабатывает. Но если попробовать снова отправить форму с ошибкой, то после выполнения ajax, нам снова показывается сообщение об ошибке, и уже теперь форма начинает прятаться и показываться по клику на кнопку. Т.е. скрипт начинает отрабатывать.
Получается что после ajax скрипт на сокрытие и показ формы работает через раз. Скрипт обернут в Drupal.behaviors.
Буду благодарен за помощь!
Ответы
Если обернуто в Drupal.behaviors и срабатывает через раз, то попробуйте изменить код так:
$("#button").once().click(function(e){
$("#block-form").toggle();
});
Спасибо!
Возможно, проблема в том, что вы привязываетесь к изменяемому после выполнения ajax-запроса свойству id у html-элемента формы. Не видя кода сложно сказать что-то конкретное.
Если какой-то код не работает, то логично выложить этот код в вопросе
Ну вот код:
Привязываюсь исключительно к родительскому блоку формы. Пробовал и к региону для этой формы, и к самой форме - результат один. Пробовал через делегирование - не помогает. Прячется и показывается через раз после отправки пустых полей.
Проверьте firebug'ом или любым другим браузерным отладчиком на наличие ошибок js, возможно дело в этом.