

Показ/скрытие полей через JavaScript
#61
Отправлено 14 Декабрь 2012 - 21:40
#62
Отправлено 14 Декабрь 2012 - 23:38

#63
Отправлено 15 Декабрь 2012 - 12:02
Oleg_ (14 Декабрь 2012 - 21:40) писал:
Странно, должно работать. Попробуйте тогда такой вариант:
if ({$user.id} == 1) document.getElementById('field_view1432').style.display = '';
#64
Отправлено 16 Декабрь 2012 - 17:30
#65
Отправлено 17 Декабрь 2012 - 00:26
function onchange_{$one_field.id}()
{
display_field(ПОЛЕ В ПОДЧИНЕННОЙ ТАБЛИЦЕ, document.getElementById('value{$one_field.id}').value=="Нет");
}
#66
Отправлено 17 Декабрь 2012 - 02:25
если у юзера нет прав на редактирование поля, но есть на просмотр - то в режиме просмотра записи отображаются все доступные, display_field до лампочки
если у юзера есть права и на редактирование - display_field работает и в посмотре и в редактировании как надо
#67
Отправлено 18 Декабрь 2012 - 10:07
function onchange_{$one_field.id}()
{
display_fgroup(70, document.getElementById('value{$one_field.id}').value!='8');
}
$('#value{$one_field.id}').bind('change', onchange_{$one_field.id});
addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id});
Работает но не сразу. т.е. Когда открываешь запись на редактирование группа 70 сразу видна, при изменении значений она скрывается. как сделать так чтоб сразу группа была скрыта?
#68 Гость_Roman_*
Отправлено 18 Декабрь 2012 - 10:20
$(document).ready(function() {
onchange_{$one_field.id}();
});
#69
Отправлено 18 Декабрь 2012 - 10:30
#70
Отправлено 18 Декабрь 2012 - 10:37
#71 Гость_Roman_*
Отправлено 18 Декабрь 2012 - 10:43
// Получаем начальное значение поля
var startValue = document.getElementById('value{$one_field.id}').value;
function onchange_{$one_field.id}()
{
display_fgroup(70, document.getElementById('value{$one_field.id}').value!='8');
if (document.getElementById('value{$one_field.id}').value != startValue) // Проверяем новое значение
alert("Поле было изменено!");
}
$('#value{$one_field.id}').bind('change', onchange_{$one_field.id});
addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id});
#72
Отправлено 18 Декабрь 2012 - 10:54
var startValue = document.getElementById('value{$one_field.id}').value;
function onchange_{$one_field.id}()
{
display_fgroup(70, document.getElementById('value{$one_field.id}').value!=startValue);
}
$('#value{$one_field.id}').bind('change', onchange_{$one_field.id});
addHandler(document.getElementById("value{$one_field.id}"), "onchange", onchange_{$one_field.id});
$(document).ready(function() {
onchange_{$one_field.id}();
});
#73
Отправлено 18 Декабрь 2012 - 14:13
Сообщение отредактировал OLDest: 18 Декабрь 2012 - 14:13
#74 Гость_Roman_*
Отправлено 18 Декабрь 2012 - 14:31
#75
Отправлено 18 Декабрь 2012 - 14:50
#76
Отправлено 18 Декабрь 2012 - 14:53
document.getElementById('value1774').value='Изменение статуса с "'+startValue1+'" на "'+document.getElementById('edit_value{$one_field.id}').value+'"';работает
#77 Гость_Roman_*
Отправлено 18 Декабрь 2012 - 14:54
$(document).ready(function() {
var startValue = document.getElementById('value1774').value;
onchange_{$one_field.id}();
});
#78
Отправлено 30 Январь 2013 - 11:59
Приведу пример. Имеется таблица Клиент, ей подчинена таблица Объект, а таблице Объект есть подчиненная таблица Документ.
В таблице Документ необходимо скрыть поле, если в таблице Клиент поле списка принимает конкретное значение.
Такая функция осуществима? Если да, то как?
Сообщение отредактировал KLV: 30 Январь 2013 - 12:00
#79
Отправлено 30 Январь 2013 - 14:27
#80
Отправлено 25 Апрель 2013 - 16:17
Все работает стабильно.
$(function(){
on_change_sel();
function on_change_sel() {
if (document.getElementById('value2201').value=='Юридическое'){
show_urid();
hide_fiz();
}else if(document.getElementById('value2201').value=='Физическое'){
show_fiz();
hide_urid();
}
}
$('a.button.edit').click(function(){ on_change_sel(); });
$('#value2201').change(function(){ on_change_sel(); });
function show_urid(){
display_field(439,1); //Юридическое название
display_field(440,1); //Юридический адрес
display_field(1056,1); //ИНН
display_field(1057,1); //КПП
display_field(1058,1); //Расчетный счет
display_field(1065,1); //банк
display_field(1059,1); //Корр. счет
display_field(1060,1); //Лицевой счет
display_field(1061,1); //БИК
display_field(1062,1); //Руководитель
display_field(1063,1); //Бухгалтер
display_field(1064,1); //Код ОКАТО
display_field(1066,1); //КБК
display_field(3301,1); //ОКВЭД
display_field(3311,1); //ОКПО
display_field(2671,1); //ОГРН
}
function hide_urid(){
display_field(439,0); //Юридическое название
display_field(440,0); //Юридический адрес
display_field(1056,0); //ИНН
display_field(1057,0); //КПП
display_field(1058,0); //Расчетный счет
display_field(1065,0); //банк
display_field(1059,0); //Корр. счет
display_field(1060,0); //Лицевой счет
display_field(1061,0); //БИК
display_field(1062,0); //Руководитель
display_field(1063,0); //Бухгалтер
display_field(1064,0); //Код ОКАТО
display_field(1066,0); //КБК
display_field(3301,0); //ОКВЭД
display_field(3311,0); //ОКПО
display_field(2671,0); //ОГРН
}
function show_fiz(){
display_field(2151,1); // фио
display_field(2161,1); //паспорт серия
display_field(2171,1); //Паспорт номер
display_field(2181,1); //Кем выдан
display_field(2191,1); //Дата выдачи
display_field(2391,1); //Место работы
}
function hide_fiz(){
display_field(2151,0); // фио
display_field(2161,0); //паспорт серия
display_field(2171,0); //Паспорт номер
display_field(2181,0); //Кем выдан
display_field(2191,0); //Дата выдачи
display_field(2391,0); //Место работы
}
});
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных