1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Web изменение стиля и сохраение

Тема в разделе "Lotus - Программирование", создана пользователем Gor, 17 мар 2010.

  1. Gor

    Gor Well-Known Member

    Репутация:
    0
    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2
    Всем здравстуйте. Задача под Веб

    необходимо в определённых полях по изменению значения этого поля на форме менять его цвет.


    ЧТо сделал я:
    Навесил на определённые поля на OnChange JS вызов функции look(this.name).

    function look(v){
    document.getElementById(v).style.color = "red";
    }

    Заработало - стал меняться цвет на красный если в нём изменяется значение.
    НО ...
    При нажатии на кнопку Submit (@Command([FileSave]);
    @Command([FileCloseWindow])) сохранении формы цвет изменённого поля меняется на исходный.

    На OnSubmit формы что то не довесил????
    Не соображу что не докрутил, чтобы изменённый стиль сохранялся???
     
  2. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    может, нужный цвет, в зависимости от значения, нужно прописать в onLoad или в HTML атрибутах редактируемых полей?
     
  3. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    если говорить о "дизайне" - вместо хардкода - CSS
    если JS не менял "сохраняемых" полей (от кот. зависит вычисление цвета) - разумеется, изменения в JS не сохранятся
    помимо вариантов OKEN...
    можно хранить список стилей, для полей, зависимо от значения...
    и "сверяться" с ним по JS событиям, но зависит от логики приложения
     
  4. NetWood

    NetWood Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    17 апр 2008
    Сообщения:
    362
    Симпатии:
    11
    Не отвечу конкретно, но посоветую направление. Ваша задача - частный и обрезанный случай валидатора полей.
    Надо бы выкурить jQuery или prototype, чем писать собственные клюшки. Там не только с цветом станете работать ...
    Пример подключения тут (база domquery.nsf)
     
  5. Gor

    Gor Well-Known Member

    Репутация:
    0
    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2

    не совсем понял фразу - если JS не менял "сохраняемых полей"

    Смысл в следующем - есть заявка форма, на ней поля, одно поле статус. Заявка проходит этапы утверждения и уходит в архив.
    Потом данную заявку из архива можно поднять кнопкой Update.
    Открывается форма (Form?OpenForm) той же самой заявки со статусом Update и всеми значениями полей из архивной заявки (типа опция использовать как шаблон).
    Надо сделать так, чтобы при изменении значения одного из полей на форме его значение выделялось в красном цвете. (чтобы видеть чем форма отличается от шаблона)
    Я не совсем пойму как мне поможет это -
    Тут же смысл в том чтобы изменять значение только в том случае если отличается от исходного...


    ЕДинственно решение которое мне видится:

    Прикрепить к каждому полю скрытое поле со значениями 1, 0. На OnChange исходного поля записывать туда 1 или 0 (зависит от того изменили поле или нет)
    Также к каждому полю прикрепить Computed Value с тегами и условиями. Если 1 то <font color=red>, если 0 то цвет оставляем обычным. при сохранении документа значения полей станут сохраняться.

    Просто может быть проще вариант есть? Или я вас неправильно понял...(

    P.S.
    А валидатор полей я уже юзаю, заточил под свои нужды его конечн немонго, огромное спасибо кстати за подробный пример =)
    А вот в его использовании при решении данной задачи даже как то не задумывался.
     
  6. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    JS может поменять редактируемое поле (в кот. фиксировать стили для изменённых полей) и после сохранения там значение останется, откуда при старте и прочих операция можно забрать значения и обработать, при отображении подсветки
    поле для этой логики нужно сделать мультивалюйным
     
Загрузка...

Поделиться этой страницей