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


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


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

#301 CbCoder

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

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

Отправлено 21 Октябрь 2016 - 13:59

Можно сделать его временно необязательным, т.е. на тот случай если оно скрыто. В этой же теме было описано как: https://clientbase.r...indpost&p=29315

#302 maksbazhin

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

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

Отправлено 22 Декабрь 2017 - 09:53

Как скрывать поля по разному в режиме просмотра (скрывать большую часть) и редактирования (показывать все доступное)?

#303 Александр Jet

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

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

Отправлено 23 Декабрь 2017 - 08:40

Просмотр сообщенияmaksbazhin (22 Декабрь 2017 - 09:53) писал:

Как скрывать поля по разному в режиме просмотра (скрывать большую часть) и редактирования (показывать все доступное)?
Это можно настроить в настройках доступа

#304 maksbazhin

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

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

Отправлено 23 Декабрь 2017 - 09:17

Просмотр сообщенияАлександр Jet (23 Декабрь 2017 - 08:40) писал:

Это можно настроить в настройках доступа
Не получается, писал в другой теме (https://clientbase.r...showtopic=10758), если полю ставлю доступ на запрет просмотра и разрешаю редактирование при переходе из просмотра в редактирование поле пустое, хотя данные внутри есть, а при сохранении в поле пишется ''

#305 CbCoder

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

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

Отправлено 23 Декабрь 2017 - 17:22

Ищите на странице нужный элемент и скрываете его через стандартные методы javascript. Это все можно загуглить.

#306 maksbazhin

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

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

Отправлено 23 Декабрь 2017 - 21:59

Просмотр сообщенияCbCoder (23 Декабрь 2017 - 17:22) писал:

Ищите на странице нужный элемент и скрываете его через стандартные методы javascript. Это все можно загуглить.
так JS скрывает и в режиме просмотра и редактирования, а мне надо раздельно. Как при запуске сворачивать (не скрывать) группы?

#307 CbCoder

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

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

Отправлено 25 Декабрь 2017 - 13:32

Цитата

так JS скрывает и в режиме просмотра и редактирования

С чего вы взяли? Я не про нашу функцию display_field говорю, которая скрывает оба элемента сразу, а про стандартные методы JS. Например, скрытие через style.display = 'none'. Надо только посмотреть id нужного элемента на странице, через консоль например.

#308 Whitescorpion

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

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

Отправлено 18 Май 2018 - 19:46

Просмотр сообщенияCbCoder (21 Октябрь 2016 - 13:59) писал:

Можно сделать его временно необязательным, т.е. на тот случай если оно скрыто. В этой же теме было описано как: https://clientbase.r...indpost&p=29315

function onchange_{$one_field.id}()
{
  display_field(5951, $('#value{$one_field.id}').val()=="состою в браке");
  display_field(6081, $('#value{$one_field.id}').val()=="состою в браке");
  display_field(5941, $('#value{$one_field.id}').val()=="в разводе");
 
  // id1 и id2 - id тех полей, которые необходимо скрыть/отобразить, вместо них подставляете нужные вам номера
}
function check_main()
{
if (document.getElementById('value5931').value == "состою в браке") document.getElementById('main5951').value = 1;
if (document.getElementById('value5931').value != "состою в браке") document.getElementById('main5951').value = 0; 
}

$(document).ready(onchange_{$one_field.id});
$('#value{$one_field.id}').change(onchange_{$one_field.id});
$(document).ready(check_main);
$('#value{$one_field.id}').change(check_main);

Все перепробовал. В чем проблема подскажите. Нужно, чтобы при значении поля "состою в браке" поле 5951 становилось обязательным для заполнения, при остальных значениях нет.

#309 Александр Jet

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

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

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

Просмотр сообщенияWhitescorpion (18 Май 2018 - 19:46) писал:

function onchange_{$one_field.id}()
{
  display_field(5951, $('#value{$one_field.id}').val()=="состою в браке");
  display_field(6081, $('#value{$one_field.id}').val()=="состою в браке");
  display_field(5941, $('#value{$one_field.id}').val()=="в разводе");

  // id1 и id2 - id тех полей, которые необходимо скрыть/отобразить, вместо них подставляете нужные вам номера
}
function check_main()
{
if (document.getElementById('value5931').value == "состою в браке") document.getElementById('main5951').value = 1;
if (document.getElementById('value5931').value != "состою в браке") document.getElementById('main5951').value = 0;
}

$(document).ready(onchange_{$one_field.id});
$('#value{$one_field.id}').change(onchange_{$one_field.id});
$(document).ready(check_main);
$('#value{$one_field.id}').change(check_main);

Все перепробовал. В чем проблема подскажите. Нужно, чтобы при значении поля "состою в браке" поле 5951 становилось обязательным для заполнения, при остальных значениях нет.

Можно сделать так, чтобы при сохранении выдавалась ошибка, если значение поля "Состою в браке" и поле 5951 не заполнены.

#310 plotnikov

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

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

Отправлено 28 Май 2018 - 09:48

Помогите разобраться, в связи с обновлением в КБ, когда загрузка данных страницы происходит динамически, то перестали работать прежние функции javascript (при обновлении до 10 или 11й версии все сломалось).

Необходимо обработать изменение чекбоксов на поле типа Список с множественным выбором.

function onchange_{$one_field.id}()
{
if (document.getElementById("value{$one_field.id}['Выслано КП']").checked || 
  document.getElementById("value{$one_field.id}['Приедет в офис']").checked || 
  document.getElementById("value{$one_field.id}['Выслан договор']").checked
) { 
  document.getElementById("value{$one_field.id}['Перезвонить']").setAttribute('checked', true);
}     
}

$(document).ready(function(){
  $('#value{$one_field.id}').bind('change', onchange_{$one_field.id});  
});

Проблема в том, что функция срабатывает только 1 раз - выбираем в списке "Выслано КП", автоматом проставляется чекбокс "Перезвонить". Но если снять "Перезвонить" вручную и попробовать опять проставить "Выслано КП" (Приедет в офис или Выслан договор), то "Перезвонить" второй раз автоматом уже не ставится.

Сломалось все именно при обновлении до 10 или 11й версии КБ. Пробовал вместо bind использовать on и разные другие варианты, ничего не помогает.

#311 CbCoder

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

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

Отправлено 29 Май 2018 - 10:53

document.getElementById("value{$one_field.id}['Перезвонить']").setAttribute('checked', true);

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

document.getElementById("value{$one_field.id}['Перезвонить']").checked = true;


#312 plotnikov

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

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

Отправлено 04 Июнь 2018 - 12:26

CbCoder, век живи - век учись. Спасибо! Странно, как до этого работали и не обращали внимание :rolleyes:

#313 Whitescorpion

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

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

Отправлено 06 Июнь 2018 - 16:29

Просмотр сообщенияАлександр Jet (25 Май 2018 - 14:11) писал:

Можно сделать так, чтобы при сохранении выдавалась ошибка, если значение поля "Состою в браке" и поле 5951 не заполнены.

А можно попросить какой-нибудь пример кода?

#314 Александр Jet

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

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

Отправлено 19 Июль 2018 - 10:24

Просмотр сообщенияWhitescorpion (06 Июнь 2018 - 16:29) писал:

А можно попросить какой-нибудь пример кода?

Пример кода для вашего вычисления

function onsubmit_{$one_field.id}()   // Функция по событию "сохранение поля"
{

  
	if (document.getElementById("value5741").value == "" &
		document.getElementById("value5751").value == "")
		{
		alert("Заполните поле Состою в браке");
		return false;   //прерываем сохранение
		}
addHandler(document.getElementById("edit_form"), "onsubmit", onsubmit_{$one_field.id});


#315 laserwar

    Участник

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

Отправлено 26 Октябрь 2018 - 13:03

Вопрос по версии 3.0!!! Открываем счет в позиция номенклатуры наименование : Сначала в 2017 году или раньше при формировании счета нажимали выбор поля наименование и выводилось к примеру вся продукция на букву к, или как угодно вообщем выбираем товар, раньше было в версии 2.9... и так далее как бы пунктирная линия отделяющая позиции в списке!!! удобно смотреть и глазеть на большой список номенклатуры, и курсор не тормозил когда автоматически ищешь номенклатуру по списку бегая вниз вверх, в 3.0 такое новшество как бы новый дизайн и все такое вообщем пунктира нету, курсор тормозит и порой кликает не на нужную позицию, как избавиться от этого либо вернуть старый вариант!

#316 maksbazhin

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

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

Отправлено 12 Декабрь 2018 - 22:48

Подскажите, как скрыть/убрать кнопку удаления записи в подтаблице. Где то на форуме встречал этот вопрос, но сейчас найти не могу. Через правила можно запретить только редактирование полей в подтаблице?

#317 andibrag

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

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

Отправлено 13 Декабрь 2018 - 09:51

Просмотр сообщенияmaksbazhin (12 Декабрь 2018 - 22:48) писал:

Подскажите, как скрыть/убрать кнопку удаления записи в подтаблице. Где то на форуме встречал этот вопрос, но сейчас найти не могу. Через правила можно запретить только редактирование полей в подтаблице?
Близкая тема.

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

www.MEGATAVR.com Художественная ковка, витражи, мозаика, фрески.

www.iGal.pro Уникальный мангал.


#318 maksbazhin

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

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

Отправлено 13 Декабрь 2018 - 10:54

Просмотр сообщенияandibrag (13 Декабрь 2018 - 09:51) писал:

Близкая тема.
Видел, даже использовал. Не много не то - в правилах есть только запрет на редактирование в подтаблице, но от удаления не спасает. в js слаб. ID кнопок в подтаблице наверное не бывает нашел только class, а с ним надо городить перебор всех элементов на странице, а тут знаний нет совсем.
Манагеры просят убрать или сдвинуть - вместо просмотра жмут на нее через раз.

#319 andibrag

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

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

Отправлено 14 Декабрь 2018 - 13:50

Просмотр сообщенияmaksbazhin (13 Декабрь 2018 - 10:54) писал:

в правилах есть только запрет на редактирование в подтаблице, но от удаления не спасает.
В правилах есть запрет на удаление. Можете сделать поле в подтаблице, например, ОПУБЛИКОВАНО, на значение которого настроить правило. Если значение поля равно ДА, то в правиле снимите чек напротив Удаление строк. Редактирование полей, при необходимости, можете настроить там же.
Возможно не совсем удобно, но штатными средствами только так. У нас это реализовано в Истории работы. После публикации запись в подтаблице можно только читать. Ни удалить, ни редактировать нельзя.

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

www.MEGATAVR.com Художественная ковка, витражи, мозаика, фрески.

www.iGal.pro Уникальный мангал.


#320 CbCoder

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

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

Отправлено 14 Декабрь 2018 - 17:22

Просмотр сообщенияmaksbazhin (12 Декабрь 2018 - 22:48) писал:

Подскажите, как скрыть/убрать кнопку удаления записи в подтаблице. Где то на форуме встречал этот вопрос, но сейчас найти не могу. Через правила можно запретить только редактирование полей в подтаблице?

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





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

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