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


Текущие значения полей в режиме просмотра

javascript яваскрипт value значение поля

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

#1 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 18 Февраль 2014 - 01:51

В документации приводятся примеры с использованием id вида valueXXX. Т.е. код
document.getElementById("valueXXX").value
теоретически должен дать текущее значение поля. Нигде не написано, что это функционирует только если стоит право на редактирование поля. Может ошибаюсь, но я не нашел. Достаточно изменить права и скрипт уже не работает. Приходится лепить новую заклепку и добираться до значения иными способами вроде
$('#view_cell_ХХХ').text()
Объясните, пожалуйста, почему не сделать унифицированную возможность чтения полей независимо от прав доступа? Можно еще упростить, если ввести смарти-переменную для каждого поля, например {$valueXXX}.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#2 CbCoder

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

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

Отправлено 18 Февраль 2014 - 09:59

Очевидно потому, что когда вводили возможность добавления яваскрипта (изначально для своих нужд), необходимости чтения нередактируемых полей не было. Вообще, вы по-моему первый кто это просит, не помню чтобы у нас или у кого еще такая потребность возникала. Что касается Smarty, то могу ошибаться, но значение поля можно при желании получить и сейчас. Загляните в файл view_line2.tpl.

#3 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 18 Февраль 2014 - 12:24

Просмотр сообщенияCbCoder (18 Февраль 2014 - 09:59) писал:

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

Просмотр сообщенияCbCoder (18 Февраль 2014 - 09:59) писал:

Что касается Smarty, то могу ошибаться, но значение поля можно при желании получить и сейчас. Загляните в файл view_line2.tpl.
Нашел {$one_field.display} - выводит текущее значение и {$one_field.value} - к нему Нет доступа. Второе - что за переменная?

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#4 CbCoder

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

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

Отправлено 18 Февраль 2014 - 13:33

Вторая переменная как раз заполняет поля для редактирования. Если у поля нет доступа к редактированию, то и переменная выдает "нет доступа". Это стандартный ответ функции проверки прав.

#5 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 12 Март 2014 - 07:31

Просмотр сообщенияandibrag (18 Февраль 2014 - 12:24) писал:

Нашел {$one_field.display} - выводит текущее значение
Не годится. Для полей типа пользователь содержит ФИО, а не номер, для цифровых полей содержит значение с разделителем разрядов. Для полей связи тоже не все хорошо.

Просмотр сообщенияCbCoder (18 Февраль 2014 - 09:59) писал:

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

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#6 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 13 Март 2014 - 20:24

Просмотр сообщенияCbCoder (18 Февраль 2014 - 09:59) писал:

вы по-моему первый кто это просит
Сможете реализовать мою просьбу?

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#7 CbCoder

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

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

Отправлено 14 Март 2014 - 08:25

Приведите пример, когда это бывает нужно, чтобы нам было что обсуждать при принятии решения.

#8 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 14 Март 2014 - 09:57

Просмотр сообщенияCbCoder (14 Март 2014 - 08:25) писал:

Приведите пример, когда это бывает нужно, чтобы нам было что обсуждать при принятии решения.
Есть поле, доступ на редактирование которого определяется правилами. Например, если задание выполнено - запретить редактирование полей. Как результат value более не существует. Но в расчетах по прежнему используется. Возникает ошибка. Это самый простой пример.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#9 CbCoder

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

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

Отправлено 14 Март 2014 - 10:03

Вы не совсем верно меня поняли. Я не про то что это поле пропадает для редактирования - это и так понятно. Я про то, в каких именно случаях это самое поле, недоступное для редактирования, необходимо бывает использовать в javascript.

#10 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 14 Март 2014 - 17:43

Просмотр сообщенияCbCoder (14 Март 2014 - 10:03) писал:

Вы не совсем верно меня поняли. Я не про то что это поле пропадает для редактирования - это и так понятно. Я про то, в каких именно случаях это самое поле, недоступное для редактирования, необходимо бывает использовать в javascript.
Самое простое - отвечает за формирование внешнего вида страницы (скрывает и отображает поля в зависимости от значения).

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#11 CbCoder

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

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

Отправлено 14 Март 2014 - 18:07

А что мешает скрывать поля через те же правила? Поясняю: Javascript вводился для возможности динамического скрытия полей. Например, при изменении значения одного поля (т.е. при его редактировании) отображать или скрывать другие. Если же это поле (в зависимости от значения которого нужно отображать другие поля) все равно не редактируется - какой смысл в яваскрипте? Повторюсь: что мешает поместить его в правило, где все фактически то же самое, только без динамики "в реальном времени"?

Поэтому я и прошу у вас реальные примеры, когда правилами будет не обойтись.

#12 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 15 Март 2014 - 18:17

Просмотр сообщенияCbCoder (14 Март 2014 - 18:07) писал:

А что мешает скрывать поля через те же правила? Поясняю: Javascript вводился для возможности динамического скрытия полей. Например, при изменении значения одного поля (т.е. при его редактировании) отображать или скрывать другие. Если же это поле (в зависимости от значения которого нужно отображать другие поля) все равно не редактируется - какой смысл в яваскрипте? Повторюсь: что мешает поместить его в правило, где все фактически то же самое, только без динамики "в реальном времени"?

Поэтому я и прошу у вас реальные примеры, когда правилами будет не обойтись.
Яваскрипт использован, потому, что страница формируется динамически. Есть пользователи для которых доступ на редактирование открыт всегда, у остальных регламентирован правилами. В поле, отвечающего за формирование страницы четыре значения - четыре варианта внешнего вида страницы. Вы предлагаете продублировать скрипт на стороне клиента серверным прописав минимум четыре дополнительных правила. А если уровень вложенности еще один. Т.е. в полях, чей вывод зависит от значения поля родителя, есть еще значения, которые также влияют на отображение страницы. Сколько правил мне нужно прописать? 20? 30? При этом яваскрипт продолжает присутствовать и работать. В нем это делается элементарно через switch case, Вы же предлагаете не заменить, а продублировать его непонятным количеством правил.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#13 CbCoder

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

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

Отправлено 17 Март 2014 - 11:44

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

Все таки конкретного примера я не получил. Что все таки мешает правило использовать для скрытия полей (js, напомню, вводился для этой цели)? Или у вас в данном случае яваскриптом не поля скрываются, а производятся какие-то другие, более сложные действия по изменению внешнего вида страницы?

#14 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 17 Март 2014 - 12:17

Просмотр сообщенияCbCoder (17 Март 2014 - 11:44) писал:

Что все таки мешает правило использовать для скрытия полей
Вы же сами отвечали на этот вопрос.

Цитата

Javascript вводился для возможности динамического скрытия полей
Т.е. до момента пока сработает правило, запрещающее редактирование поля, я имею возможность менять его содержимое (список из нескольких значений) и тем самым динамически формировать внешний вид страницы. Яваскрипт скрывает поля или группы, управляет отображением связанных таблиц, осуществляет цветовое форматирование на странице. Правила могут быть задействованы только для первого случая. Остальное не выполнить. Кроме того, использование правил только создает путаницу, поскольку по сути они дублируют javascript.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#15 CbCoder

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

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

Отправлено 17 Март 2014 - 13:43

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

1) для каких-то расширенных, не предусмотренных изначально текущей настройкой "javascript", возможностей по оформлению страницы (типа цветового форматирования полей в режиме просмотра/редактирования, что правилами разумеется никак не сделать на данный момент)
2) для стандартного скрытия, которое в принципе можно сделать и правилами, но вы просто не хотите распылять настройки скрытия "на 2 фронта", т.к. каким-то группам нужно динамическое скрытие, которое можно сделать только через JS, а кому-то "статичное", которое сейчас можно реализовать через правила.

#16 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 17 Март 2014 - 14:16

Просмотр сообщенияCbCoder (17 Март 2014 - 13:43) писал:

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

1) для каких-то расширенных, не предусмотренных изначально текущей настройкой "javascript", возможностей по оформлению страницы (типа цветового форматирования полей в режиме просмотра/редактирования, что правилами разумеется никак не сделать на данный момент)
2) для стандартного скрытия, которое в принципе можно сделать и правилами, но вы просто не хотите распылять настройки скрытия "на 2 фронта", т.к. каким-то группам нужно динамическое скрытие, которое можно сделать только через JS, а кому-то "статичное", которое сейчас можно реализовать через правила.

Все верно.

Вдогонку. Столкнулся с еще одной необходимостью. Javascript в дополнительном действии проверяет соответствие значений в полях, доступ на редактирование к которым закрыт. Снова возникает ошибка чтения value.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#17 CbCoder

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

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

Отправлено 01 Апрель 2014 - 09:59

Обсудили, никто не против, так что сделаем скорее всего.





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

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