0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 5458 Просмотров
*

Dominus

  • Осваиваюсь на форуме
  • 18
  • 4 / 0
Здравствуйте! Задача в следующем:

Имеется форма состоящая из 4х страниц, на первой странице размещены 3 радио-кнопки и кнопка Далее.
Каждая радио-кнопка имеет своё значение при выборе которого и нажатии на кнопку Далее, пользователя перекидывает на соответствующую страницу формы 2, 3 или 4.

Вопрос:
Как это дело можно организовать, какое событие прописать кнопке Далее? Как инициализировать радиокнопку и её переменную в действии кнопки Далее?

Заранее спасибо!
*

shmakatuha

  • Захожу иногда
  • 131
  • 3 / 0
Можно попробовать так. Создаем три секции на второй странице с необходимыми элементами и скрываем их. Затем просто прописываем условия видимости в зависимости от положения переключателя.
Код
turn on section секция_1 if переключатель is положение_1
и т.д. Должно работать.
*

Dominus

  • Осваиваюсь на форуме
  • 18
  • 4 / 0
Такой метод работает при создании формы в Быстром режиме. А если поставить кнопку Назад на вторую страницу и выбрать другую радиокнопку и снова нажать Далее, то выводится ещё и предыдущий результат. Такая ситуация происходит пока не перезагрузиш страницу.

А есть варианты при создании формы в Классическом режиме? Он наиболее гибкий.
*

shmakatuha

  • Захожу иногда
  • 131
  • 3 / 0
Так не должно быть. Я, правда, не пробовал. Но, кроме условия видимости нужно прописать и условия скрытия, т.е. скрывать две оставшиеся секции при выборе первой...
По поводу классического режима ни чем помочь не могу.
*

Dominus

  • Осваиваюсь на форуме
  • 18
  • 4 / 0
Код условия видимости, как я понял прописывается в самой форме на вкладке Расширеные настройки в поле Правила видимости, для каждой радио-кнопки с новой строки. А как можно прописать условие скрытия?
*

shmakatuha

  • Захожу иногда
  • 131
  • 3 / 0
Например:
Код
turn on section c1 if buttion is var1
turn off section c1 if buttion  is var2
turn off section c1 if buttion  is var3
здесь c1 это одна секция (или страница), а buttion твоя "радио" кнопка с тремя вариантами.
т.е. итого строк должно быть девять. По три на каждую секцию.

Все условия видимости прописываются в расширенных настройках - условия видимости.
*

Dominus

  • Осваиваюсь на форуме
  • 18
  • 4 / 0
Разобрался как решить данную задачу в Классическом режиме.
Если кому надо, вот решение:

Создаём радио-кнопоки, у меня их 3, даём им имена , пусть будут rb. У всех трёх кнопок имена должны быть одинаковыми.
В каждой радио-кнопке пишем какое либо значение, например: в Кнопке1 next_page1, в Кнопке2 next_page2, в Кнопке3 next_page3.

Идём в настройки Кнопки1 на вкладку Скрипты, Скрипт действие, выбираем Тип: Пользовательский, Действие: Нажатие и пишем код:
Код
function ff_rb_action(element, action)
{
    switch (action) {
        case 'click':
             for (var i = 0; i < ff_elements.length; i++)
              if (ff_elements[i][2]== 'rb')
                if (ff_getElementByIndex(i).checked) rb_value = ff_getElementByIndex(i).value;
            break;
        default:;
    } // switch
} // ff_rb_action
Код пишется только в первой кнопке, в остальных нужно просто выбрать Тип: Пользовательский,  Действие: Нажатие.

Создаём кнопку Next для перехода на следующую страницу, в зависимости от выбора радио-кнопки.
В настройках кнопки Next переходим на вкладку Скрипты, выбираем Тип: Пользовательский, Действие: Нажатие.
Пишем код :
Код
function ff_Next_action(element, action)
{
    switch (action) {
        case 'click':
              if (rb_value == 'next_page1') ff_switchpage(ff_getPageByName('page1'));
      if (rb_value == 'next_page2') ff_switchpage(ff_getPageByName('page2'));
              if (rb_value == 'next_page3') ff_switchpage(ff_getPageByName('page3'));
            break;
        default:;
    } // switch
} // ff_Next_action

Готово! Всё работает как надо. Буду рад если кому то это пригодится.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Обработка Radio group в многостраничной форме

Автор karpiy

Ответов: 0
Просмотров: 2086
Последний ответ 04.04.2013, 12:50:31
от karpiy