Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Массив PROP. Сброс всех введенных значений в пользовательской форме.

00 голосов
2
Уважаемые коллеги, ответьте , пожалуйста, на вопрос.. я думаю наверняка кто-нить уже с таким сталкивался.
Создал свой инф блок.. допустим Вакансии.. под него создал в админке свою кастомизированную форму для заполения (использовал Создание пользовательских страниц редактирования элемента информационного блока)
в новой форме создал, например, 10 полей и сделал так, чтоб все они были обязательны для заполнения.... Все получилось... все работает
Для каждого поля использовал что-то вроде :
Код
if (strlen($_POST['DETAIL_TEXT'])<=0)
    $error = new _CIBlockError(2, 'DESCRIPTION_REQUIRED', 'Введите текст статьи');

только вместо DETAIL_TEXT работал с массивом $PROP.
Вопрос в следующем: если человек забыл ввести какое то поле.. то выдается ошибка, что не заполенно какое то поле (что и требовалось), но самое главное ВСЕ сбрасывается (все заполненные ранее поля).. и приходится вбивать эти 10 полей с самого начала. Как сделать так чтобы этого не происходило и полях оставались введенные значения ?
Спасибо заранее за любую помощь.
спросил 10 Апр, 14 от GOGO (100 баллов)

2 Ответы

00 голосов
Цитата
Александр Загвоздин пишет:
Вопрос в следующем: если человек забыл ввести какое то поле.. то выдается ошибка, что не заполенно какое то поле (что и требовалось), но самое главное ВСЕ сбрасывается (все заполненные ранее поля).. и приходится вбивать эти 10 полей с самого начала. Как сделать так чтобы этого не происходило и полях оставались введенные значения ?
Спасибо заранее за любую помощь.

Предполагаю, что Вы упустили из внимания строчки в документации по API добавления/изменения элементов инфоблока:
Цитата

"PROPERTY_VALUES" - массив со всеми значениями свойств элемента в виде массива Array("код свойства"=>"значение свойства").

Если проблема не в этом, то код в студию.
ответил 03 Ноя, 14 от Delp (7,220 баллов)
00 голосов
Добрый день

После инициализации ошибки, пожалуйста, используйте
Код
$bVarsFromForm = true;


т.е.

Код
if (strlen($_POST['DETAIL_TEXT'])<=0):
    $error = new _CIBlockError(2, 'DESCRIPTION_REQUIRED', 'Введите текст статьи');
    $bVarsFromForm = true;
endif;
ответил 02 Март, 15 от Damani (1,180 баллов)

Похожие вопросы

0 голосов
5 ответов
0 голосов
1 ответ
спросил 28 Июнь, 13 от Titan91 (1,120 баллов)
0 голосов
5 ответов
0 голосов
3 ответов
спросил 03 Март, 14 от SicknezZz (200 баллов)