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


Яваскрипт без доступа к редактированию


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

#1 ber

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

  • Пользователи
  • PipPipPip
  • 237 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 27 Октябрь 2013 - 23:57

Как обойти систему, что Яваскрипт не срабатывает, если не открыт доступ к редактированию строки, в зависимости от которой происходит отображение?

Пример:
function onchange_{$one_field.id}()
{
  display_field(6110, document.getElementById('value{$one_field.id}').value=="Отмена записи");
}
addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id});

и для самого поля:
display_field({$one_field.id}, document.getElementById('value5921').value=="Отмена записи");

Открыть доступ к редактированию поля нельзя, поскольку управление происходит через Доп действия (не все варианты списка должны быть доступны одному человеку, а через доп действия можно разграничить по группам доступа)

Сообщение отредактировал ber: 27 Октябрь 2013 - 23:59

www.its-truck.ru - Группа компаний ИТС
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто

#2 maksn

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

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

Отправлено 28 Октябрь 2013 - 10:45

Просмотр сообщенияber (27 Октябрь 2013 - 23:57) писал:

Как обойти систему, что Яваскрипт не срабатывает, если не открыт доступ к редактированию строки, в зависимости от которой происходит отображение?

Пример:
function onchange_{$one_field.id}()
{
  display_field(6110, document.getElementById('value{$one_field.id}').value=="Отмена записи");
}
addHandler(document.getElementById('value{$one_field.id}'), 'onchange', onchange_{$one_field.id});

и для самого поля:
display_field({$one_field.id}, document.getElementById('value5921').value=="Отмена записи");

Открыть доступ к редактированию поля нельзя, поскольку управление происходит через Доп действия (не все варианты списка должны быть доступны одному человеку, а через доп действия можно разграничить по группам доступа)

Возможно нужно сделать поле (document.getElementById('value5921')) по умолчанию не равным "Отмена записи". Тогда поле f6110 по умолчанию будет невидимым. Через доп действия дадите права нужной группе и, в случае выбора значения "Отмена записи" пользователем соответствующей группы, ему будет показано поле f6110

Может быть так?
"...Сижу, паяю. CRM починяю..."
Мои разработки

#3 CbCoder

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

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

Отправлено 28 Октябрь 2013 - 11:00

Получить доступ к значению поля никак нельзя, если оно не открыто для редактирования, т.к. в этом случае попросту нет html-элемента, с которого можно получить это значение. Как правило, обходят так: доступ открывают, но само поле скрывается через тот же яваскрипт.

#4 ber

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

  • Пользователи
  • PipPipPip
  • 237 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 28 Октябрь 2013 - 11:16

Просмотр сообщенияCbCoder (28 Октябрь 2013 - 11:00) писал:

само поле скрывается через тот же яваскрипт.

Но в таком случае оно не будет не только недоступно к редактированию, но и отображаться в просмотре?

Сообщение отредактировал ber: 28 Октябрь 2013 - 11:18

www.its-truck.ru - Группа компаний ИТС
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто

#5 CbCoder

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

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

Отправлено 28 Октябрь 2013 - 11:20

Если скрывать только элемент для редактирования, в просмотре поле не исчезнет:

document.getElementById('value{$one_field.id}').style.display = "none";


#6 Radik

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

  • Пользователи
  • PipPipPip
  • 117 сообщений

Отправлено 28 Октябрь 2013 - 15:32

аналогичная проблема, если к полю доступ в режиме просмотра - скрипт не отрабатывает.если поле в режиме доступа к редактированию - скрипт отрабатывает.

#7 CbCoder

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

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

Отправлено 28 Октябрь 2013 - 15:45

Привёл же решение выше.

#8 ber

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

  • Пользователи
  • PipPipPip
  • 237 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 28 Октябрь 2013 - 20:49

решение подходит, скрывает только в редактировании, в просмотре все ок. спасибо
www.its-truck.ru - Группа компаний ИТС
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто





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

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