Сделана форма на основе каталога материалов. В catalog.php сделана обработка submit.
Все нормально работает. Проблема вот в чем. После нажатия на кнопку (submit) уходим со страницы, на которой находится форма.
А надо чтобы это работало как apply, т.к. при нажатии на sumbit, в php идет проверка введенного пароля и в случае ошибки выводится окно на js. После закрытия окна надо иметь возможность продолжить ввод пароля.
Если вызывать A::goUrl страницы с формой, то происходит сброс введенных значений в полях формы.
Как это можно сделать?
как остаться на странице после отправки сообщения
Автор | Текст сообщения | |||
---|---|---|---|---|
Светлана |
16.03.2010 10:08
|
|||
admin |
16.03.2010 12:19
|
|||
Светлана |
16.03.2010 12:38
Как избежать этого переброса? |
|||
admin |
16.03.2010 13:22
Какой action указан у формы? Нужно его не указывать совсем, или указывать на текущую страницу.
|
|||
Светлана |
16.03.2010 13:29
action указан {$sectionlink}
это модуль каталог материалов и соответственно обработка action сделана в catalog.php если в форме не указывать action или указывать на текущую страницу, то куда поместить обработку action? |
|||
admin |
16.03.2010 13:35
На странице какого раздела у вас сама форма размещена? Если каталога, то не указывайте просто action в форме и все.
|
|||
Светлана |
16.03.2010 13:42
сама форма размещена в разделе страницы
|
|||
admin |
16.03.2010 13:45
Тогда как вариант убрать action из формы и обработчик отправки разместить в модуле Страницы.
|
|||
Светлана |
18.03.2010 00:16
Сделала как посоветовали. Убрала action из формы и обработчик отправки разместила в модуле Страницы.
Действительно, перебрасывать в каталог материалов перестало. Но происходит обновление страницы, на которой размещена форма. В результате чего поля формы сбрасываются и соответственно форма открывается с первого шага. Хочется чтобы визуально не происходило ничего, т.е. данные в форме оставались и по-прежнему находились бы на третьем шаге формы. |
|||
admin |
18.03.2010 02:05
Ну так что же вы хотите.
Хотели чтобы и страница вообще не обновлялась? тогда изучайте ajax, делайте свой специальный модуль отправки формы. Я не знаю что там за форма и почему после отправки она должна оставаться такой же и что там вообще за данные в ней. |
|||
Светлана |
24.03.2010 13:41
ajax, конечно, надо изучить :-)
но пока надо обойтись без него. в форме используется метод post. Хотела использовать value="{$smarty.post.xxx}", но почему-то $smarty.post не возвращает значения полей. Не подскажете, в чем может быть проблема? |
|||
admin |
25.03.2010 02:36
Должен возвращать, но соотв. сразу после отправки формы и если обработчик не делает перенаправления.
|
|||