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


Показ/скрытие полей через JavaScript


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

#201 serg63rus

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

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

Отправлено 27 Апрель 2015 - 00:06

Не понимаю я чет ничего - в 2.0.3 то же самое... Это у всех так чтоли? я не пойму...

#202 CbCoder

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

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

Отправлено 27 Апрель 2015 - 09:40

Цитата

В общем в коде страницы отсутствуют элементы с id = value4900 (что является value{$one_field.id}) - я хз вообще как так??

А поле с таким id в таблице есть? На странице редактирования записи оно отображается? Права не отключены?

#203 serg63rus

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

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

Отправлено 27 Апрель 2015 - 09:49

Просмотр сообщенияCbCoder (27 Апрель 2015 - 09:40) писал:

А поле с таким id в таблице есть? На странице редактирования записи оно отображается? Права не отключены?
В админке это поле есть, при просмотре записи таблицы - оно тоже как бы отображается, но без параметра value. Оно становится с параметром value, чтобы код работал только если оно включено на редактирование. Если в правах доступа оно выставлено только на показ, без свойств редактирования - то не работает!

#204 CbCoder

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

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

Отправлено 27 Апрель 2015 - 09:57

Так и должно быть, т.к. ваш код ссылается на поле для редактирования. Если же вам реально не нужно это поле редактировать, то по идее и смысла использовать JS нет, в этом случае поля можно скрывать через правила. JS нужен только в случае необходимости динамического скрытия, т.е. когда вы выбираете какое-то значение в редактируемом поле, и при этом другие поля должны пропадать или появляться.

#205 serg63rus

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

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

Отправлено 27 Апрель 2015 - 09:58

Могу дать данные для входа чтобы посмотреть и понять..
Смысл в том, что похоже при настройках в доступе на редактирование - происходит полная подготовка данных (как раз в котором и есть параметр value{$one_field.id})и вывод значений, а при настройках в доступе просто на просмотр - то цикл подготовки отсутствует (точнее данное поле в нем отсутствует), и идет просто показ значения. Даже при просмотре кода страницы при поиске по value4900 (к примеру) - в режиме просмотра - нет таких данных, кроме как в моем коде, который и должен работать, а вот при установке режима редактирования - сразу все появляется...

#206 serg63rus

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

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

Отправлено 27 Апрель 2015 - 10:02

Просмотр сообщенияCbCoder (27 Апрель 2015 - 09:57) писал:

Так и должно быть, т.к. ваш код ссылается на поле для редактирования. Если же вам реально не нужно это поле редактировать, то по идее и смысла использовать JS нет, в этом случае поля можно скрывать через правила. JS нужен только в случае необходимости динамического скрытия, т.е. когда вы выбираете какое-то значение в редактируемом поле, и при этом другие поля должны пропадать или появляться.

Тогда опишу вам свою цель - может для этого есть какие-то другие способы..

Мы имеем НЕредактируемое поле статуса (к примеру статус контрагента), которое имеет 2 параметра - Редактирование и Принято. По-умолчанию при добавлении записи выставляется значение "Редактирование". Также есть кнопка допдействия, которая при условии значения в данном поле "Редактирование" меняет его значение на "Принято" (т.е. при статусе редактирование еще можно чтото менять, при статусе принято - уже все редактирование блокируется). Так вот мне также нужно при условии значения в этом поле "Принято" также скрыть данную кнопку (кнопку доп.действия). Как тогда по другому это реализовать, если учесть что данное поле должно показываться, но не редактироваться..

#207 serg63rus

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

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

Отправлено 27 Апрель 2015 - 10:05

Я уже думал сделать его редактируемым, но скрывать показ данного поля через этот же код, но тогда появляется пустая кнопка "Редактирование", если и ее скрыть - то в режиме редактирования само Редактирование получается не доступным, т.к. кнопки нет... Замкнутый круг какой-то...((

Сообщение отредактировал serg63rus: 27 Апрель 2015 - 10:06


#208 CbCoder

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

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

Отправлено 27 Апрель 2015 - 10:07

Так я же сказал - используйте правила для этого. Они полностью выполняют вашу задачу, и при этом кстати совсем без программирования.

#209 serg63rus

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

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

Отправлено 27 Апрель 2015 - 10:09

Просмотр сообщенияCbCoder (27 Апрель 2015 - 09:57) писал:

Так и должно быть, т.к. ваш код ссылается на поле для редактирования. Если же вам реально не нужно это поле редактировать, то по идее и смысла использовать JS нет, в этом случае поля можно скрывать через правила. JS нужен только в случае необходимости динамического скрытия, т.е. когда вы выбираете какое-то значение в редактируемом поле, и при этом другие поля должны пропадать или появляться.
Это все решалось бы через правила, если бы мне нужно было скрыть поле из таблицы... А мне нужно скрыть кнопку доп.действия по условию значения в поле таблицы..

#210 serg63rus

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

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

Отправлено 27 Апрель 2015 - 10:11

Просмотр сообщенияCbCoder (27 Апрель 2015 - 10:07) писал:

Так я же сказал - используйте правила для этого. Они полностью выполняют вашу задачу, и при этом кстати совсем без программирования.
В правилах нет кнопок доп.действий, там просто или они видны пользователю или нет. А условий для их показа нет((

#211 serg63rus

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

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

Отправлено 27 Апрель 2015 - 10:32

Пытаюсь сделать чуть по-другому... Условие пишу по элементу
<span id="view_cell_3711" style="white-space: pre-wrap;">Юр.лицо</span>
Т.е. вместо value{$one_field.id} пишу view_cell_{$one_field.id}, но работает через раз... Может как-то можно по-другому сделать?

#212 serg63rus

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

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

Отправлено 27 Апрель 2015 - 10:36

Вопрос решен!!! Может кому-еще пригодится:
Если Вам нужно значение класса <span> нужно писать не
document.getElementById('view_cell_{$one_field.id}').value == "Юр.лицо"
а вот так:
document.getElementById('view_cell_{$one_field.id}').innerHTML == "Юр.лицо"

Сообщение отредактировал serg63rus: 27 Апрель 2015 - 10:36


#213 CbCoder

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

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

Отправлено 27 Апрель 2015 - 10:38

Просмотр сообщенияserg63rus (27 Апрель 2015 - 10:11) писал:

В правилах нет кнопок доп.действий, там просто или они видны пользователю или нет. А условий для их показа нет((

Кнопки доп.действий в правилах тоже есть, плохо смотрите. А условие действует на все элементы правила, не только на поля.

Используйте лучше правила, вы же сами жаловались что в КБ слишком много программирования. Тем более что в будущем надеюсь правила будут действовать и динамически, а JS останется только для экспертов.

#214 serg63rus

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

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

Отправлено 27 Апрель 2015 - 10:50

Просмотр сообщенияCbCoder (27 Апрель 2015 - 10:38) писал:

Кнопки доп.действий в правилах тоже есть, плохо смотрите. А условие действует на все элементы правила, не только на поля.

Используйте лучше правила, вы же сами жаловались что в КБ слишком много программирования. Тем более что в будущем надеюсь правила будут действовать и динамически, а JS останется только для экспертов.
Я сейчас еще раз проверил - кнопок доп действий именно при выставлении правил не нашел... Подскажите?

#215 CbCoder

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

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

Отправлено 27 Апрель 2015 - 13:17

Просмотр сообщенияserg63rus (27 Апрель 2015 - 10:50) писал:

Я сейчас еще раз проверил - кнопок доп действий именно при выставлении правил не нашел... Подскажите?

http://clientbase.ru...indpost&p=27860

#216 serg63rus

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

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

Отправлено 27 Апрель 2015 - 13:43

Просмотр сообщенияCbCoder (27 Апрель 2015 - 13:17) писал:

Действительно, спасибо!))) Я просто пробовал при добавлении правила - а оно появляется уже после сохранения правила))) Спасибо еще раз, а то через одно место получается делал...

#217 serg63rus

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

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

Отправлено 07 Май 2015 - 14:11

При просмотре записей определенной страницы нужно скрыть кнопки "Редактирование", "Добавить запись" и т.п. (которые в правом блоке при просмотре записи таблица). Подскажите, как это реализовать? document.getElementById('view_buttons').style.display = 'none'; не помогает...((

#218 serg63rus

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

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

Отправлено 07 Май 2015 - 15:06

Просмотр сообщенияserg63rus (07 Май 2015 - 14:11) писал:

При просмотре записей определенной страницы нужно скрыть кнопки "Редактирование", "Добавить запись" и т.п. (которые в правом блоке при просмотре записи таблица). Подскажите, как это реализовать? document.getElementById('view_buttons').style.display = 'none'; не помогает...((
Вопрос решился записью кода в событие))

#219 serg63rus

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

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

Отправлено 07 Май 2015 - 15:40

Как скрыть данный элемент?

Прикрепленные изображения

  • Прикрепленное изображение: 01.jpg


#220 CbCoder

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

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

Отправлено 07 Май 2015 - 16:39

А чем опять вам правила не угодили? Любите вы сложные пути...





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

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