Добрый день!
Возникла такая сложность:
На странице одновременно встроены две формы: расширенная внизу и маленькая сверху. В обеих есть каптчи.
При введении неверных данных капчи в одной форме, соответствующая подсказка всплывает в обеих формах, что неприемлемо (вводил сверху, а красная надпись появилась и снизу).
Я нашел пока единственное решение: ввести переменную, которая бы назначалась при нажатии на кнопку "Отправить" (например, $submittedform='footer'), и при выведении списка ошибок (который в шаблоне проверяется перед выводом самой формы) проверялась по принципу: {if... && $submittedform=='footer'}.
Но не нашел способа назначить эту переменную. Был вариант назначить ее через UDT в свойстве формы Form Submission Behavior, но подключение в этом поле любого, даже содержащего "echo 'Hello world';" тэга приводит к тому, что ошибка при вводе каптчи не высвечивается должным образом, там вообще немного неадекват выходит в этом варианте...
Так что ключевой вопрос №1: как, работая в FormBuilder, сделать так, что при нажатии на кнопку "Submit" некоей переменной присваивалось нужное значение?
Вопрос №2: А может, сама исходная проблема в чем-то ином (высвечивание ошибки одной формы в обеих, загружаемых в одном документе)?
Заранее спасибо!
Ошибки при валидации формы, если форм несколько
-
- Forum Members
- Posts: 30
- Joined: Thu May 22, 2014 7:17 am
Re: Ошибки при валидации формы, если форм несколько
Если обе формы помечены встроенными "Pасширения" => "Конструктор форм" => Нужная форма => "Основные настройки" => "Показывать форму встроенной?:", то сообщения об ошибках должны показываться у каждой формы свои.
-
- Forum Members
- Posts: 30
- Joined: Thu May 22, 2014 7:17 am
Re: Ошибки при валидации формы, если форм несколько
С ошибками - да, с капчей - нет, одна ошибка в двух формах
-
- Forum Members
- Posts: 30
- Joined: Thu May 22, 2014 7:17 am
Re: Ошибки при валидации формы, если форм несколько
Придумал костыль: проблема возникала из-за того, что ошибка в капче создавает переменную $captcha_error, а вывод ошибки во всех формах проходит через условие if isset($captcha_error) && $captcha_error.
Таким образом, как только где-то такая ошибка возникает, все формы в документе тут же перезагружаются и спешат выдать сообщение об этой ошибке.
Поэтому решение получилось такое: после выдачи ошибки впервой форме обнулить переменную:
$captcha_error = '';
Работает.
Таким образом, как только где-то такая ошибка возникает, все формы в документе тут же перезагружаются и спешат выдать сообщение об этой ошибке.
Поэтому решение получилось такое: после выдачи ошибки впервой форме обнулить переменную:
$captcha_error = '';
Работает.
Re: Ошибки при валидации формы, если форм несколько
А если ошибка была во второй форме?
-
- Forum Members
- Posts: 30
- Joined: Thu May 22, 2014 7:17 am
Re: Ошибки при валидации формы, если форм несколько
Если во второй шибка, то первая не реагирует )
Вот если будет три, то тут придется попотеть, поэтому на будущее хотелось бы выяснить, как лечить...
Вот если будет три, то тут придется попотеть, поэтому на будущее хотелось бы выяснить, как лечить...