Перейти к содержимому
Русский язык для Invision Community 5

Почему не работает форма обновления записи?

Здравствуйте.

Пишу форму, которая обновляет только одно поле записи, без изменения других полей. Код такой:

{{$form_url = '/contacts/' . $record->_title . '-r' . $record->_id . '/?d=1';}}
{{$form = new \IPS\Helpers\Form( 'form', NULL, $form_url);}}
{{$form->class = 'ipsForm_vertical';}}
{{$form->hiddenValues['update_record_submitted'] = 1;}}
{{$form->hiddenValues['record_display_field_change'] = 0;}}
{{$form->hiddenValues['form_submitted'] = 0;}}

{{$form->add( new \IPS\Helpers\Form\Select( 'update_record_content_field_50_values', '', TRUE, array( 'options' => $groups_for_option ) ) );}}

{{$form->addButton('Записать в группу', 'submit', NULL, 'ipsButton ipsButton_veryLarge ipsButton_primary ipsButton_fullWidth');}}
{$form|raw}

Я полностью (кажется) скопировал оригинальную форму за исключением того, что не перечислил все остальные поля записи. Либо нужно всегда передавать все поля, либо я туплю и в моем коде в не очевидном месте ошибка. Подскажите?

Рекомендованные сообщения

А форм урл точно правильно составлен? Чтото меня в нем смущает. 

  • Автор

Ну, я подсмотрел, какой должен быть на примере стандартной формы редактирования записи и там вот такое:

 https://site.ru/contacts/title-r2349/?d=1 

А у меня получается:

/contacts/title-r2349/?d=1

Я так же делала полную копию оригинального урла, но все равно после отправки формы затираются все поля кроме тех, что явно указаны в моей коде.

1 час назад, vinegredz сказал:

но все равно после отправки формы затираются все поля кроме тех, что явно указаны в моей коде

А ну значит так и работает обновление полей. Как вариант чтобы сохранить старые значения передайте их в форме в скрытых инпутах. По другому наверное писать только свой обработчик формы .

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.