Перейти к содержимому


Запрет изменения поля


Сообщений в теме: 5

#1 nk

    Активный участник

  • Пользователи
  • PipPipPip
  • 228 сообщений
  • Пол:Мужчина

Отправлено 04 Декабрь 2012 - 09:45

Подскажите, какой код написать в javascript, чтобы при изменении поля, его значение сразу же возвращалось обратно, или чтобы оно было недоступно/невидимо при редактировании. Т.е. как запретить изменение поля, но не правами?

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

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 04 Декабрь 2012 - 10:14

http://clientbase.ru...?showtopic=2509

Там правда описывается скрытие по условию, но у вас задача еще проще - вместо условия ставите "0", т.е. "выключено".

#3 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 04 Декабрь 2012 - 10:17

Проще говоря, в javascript у вас должна быть одна строчка: display_field(111, 0), где 111 - id поля

#4 nk

    Активный участник

  • Пользователи
  • PipPipPip
  • 228 сообщений
  • Пол:Мужчина

Отправлено 04 Декабрь 2012 - 10:30

Не совсем то, что я хотел:

Есть одно поле связи f10, и семь других полей f11-f17. В зависимости от значения первого поля (f10), показывается только одно из семи других. Это реализовано.

Теперь надо, чтобы при входе в редактирование отображенное поле нельзя было изменить, или оно было скрыто. Строка display_field(111, 0) скроет поле "навсегда", или, если оно в обработчике on_change, скроет при изменении f10. А надо, чтобы оно скрывалось сразу при входе в редактирование. Т.е. чтобы в просмотре было, а в редактировании его не было. Отключение доступа к изменению поля ломает отображение по условию - в просмотре поле становится видным всегда.

#5 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 04 Декабрь 2012 - 10:42

Вы не уточнили, что вам нужно скрытие только для редактирования, я думал скрытие нужно полное (но с присутствием в исходном коде), поэтому предложил именно такой вариант. Но, по сути display_field(111, 0) это тоже самое что:

document.getElementById('field_view111').style.display = 'none';
document.getElementById('field_edit111').style.display = 'none';

Соответственно, вам нужна только вторая строка.

#6 nk

    Активный участник

  • Пользователи
  • PipPipPip
  • 228 сообщений
  • Пол:Мужчина

Отправлено 04 Декабрь 2012 - 10:57

То что надо, спасибо!





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных