AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.06.2008, 15:52   #1  
Matvei is offline
Matvei
Участник
 
3 / 10 (1) +
Регистрация: 02.06.2008
передача параметров функции
Здравствуйте,есть такой вопрос.
На форме есть checkbox, по выбору которого становятся видимыми несколько полей.
Хочу сделать в onload универсальную функцию, которую можно будет вызывать в onChange любого checkbox'a, указав нужные поля.
Код в onload:
X++:
checkboxes=function(checkboxfield,field1_c,field1_d,field2_c,field2_d)
{
var hideValues = (checkboxfield);
var displayStyle = hideValues ?  'none' : 'inline';
//спрятать lable и field
field1_c = displayStyle ;//hides the label
field1_d = displayStyle ;//hides the field
//спрятать lable и field
field2_c = displayStyle ;//hides the label
field2_d = displayStyle ;//hides the field
}
В onChange для этого checkbox:
X++:
checkboxes(crmForm.all.new_checkbox.DataValue,
crmForm.all.new_field1_c.style.display,
crmForm.all.new_field1_d.style.display,
crmForm.all.new_field2_c.style.display,
crmForm.all.new_field2_d.style.display);
где new_checkbox-название поля типа bit new_field1_*- поле,которое должно появиться/скрыться.
Проблема такая-ошибки не выдается,но при этом ничего и не происходит.
Как правильно решить такую проблему?
Старый 02.06.2008, 17:01   #2  
ShurikEv is offline
ShurikEv
CRM
 
213 / 28 (1) +++
Регистрация: 25.04.2006
Адрес: г. Новосибирск
Такое будет работать только на той форме где Вы в onload определили ф-ю.
Для появление ошибки Вам стоит разрешить дебаг в ИЕ. См. настройки браузера.
Я бы функцию наоборот определил:
function checkboxes(checkboxfield,field1_c,field1_d,field2_c,field2_d)
Что-то смысл Вашей функции мне не ясен. Версия CRM не указана, поэтому буду считать, что без разницы
Я бы написал что-то вроде
X++:
function HideOrShow(field, action)
{
 var displayStyle = action ? 'none' : 'inline';
 var o_c = document.getElementById(field + "_c");
 if (o_c) o_c.style.display = displayStyle;

 var o_d = document.getElementById(field + "_d");
 if (o_d) o_d.style.display = displayStyle;
}
В OnChange
X++:
HideOrShow("new_field1", crmForm.all.new_checkbox.DataValue);
HideOrShow("new_field2", crmForm.all.new_checkbox.DataValue);
Набросал, не тестировав.
__________________
MS CRM 3.0/4.0
Sharepoint 2003, MOSS 2007/2010
За это сообщение автора поблагодарили: Matvei (1).
Старый 03.06.2008, 13:47   #3  
Matvei is offline
Matvei
Участник
 
3 / 10 (1) +
Регистрация: 02.06.2008
Спасибо большое, разобрался и все сделал
Только вот не пойму что за проблема с фокусом checkbox'a. При включении его,приходится щелкнуть еще на форме,чтобы сработало OnChange.
Старый 03.06.2008, 17:13   #4  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Это у всех полей так. OnChange срабатывает только когда вы закончили редактирование - сменили фокус.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 04.06.2008, 07:10   #5  
ShurikEv is offline
ShurikEv
CRM
 
213 / 28 (1) +++
Регистрация: 25.04.2006
Адрес: г. Новосибирск
onclick какой-нибудь надо. Надо доки по DOM смотреть.
__________________
MS CRM 3.0/4.0
Sharepoint 2003, MOSS 2007/2010
Старый 04.06.2008, 08:35   #6  
Bakai Madybaev is offline
Bakai Madybaev
Участник
 
201 / 16 (1) ++
Регистрация: 22.04.2008
Цитата:
Для появление ошибки Вам стоит разрешить дебаг в ИЕ. См. настройки браузера.
не подскажите где это?
Старый 04.06.2008, 08:58   #7  
ShurikEv is offline
ShurikEv
CRM
 
213 / 28 (1) +++
Регистрация: 25.04.2006
Адрес: г. Новосибирск
Сервис-Свойства обозревателя-Дополнительно-Обзор и снять галочки с "Отключит отладку сценариев..."
__________________
MS CRM 3.0/4.0
Sharepoint 2003, MOSS 2007/2010
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Передача параметров CRM -> Sharepoint Казарин Александр Dynamics CRM: Разработка 15 20.11.2008 15:53
Передача Оганизации на время отпуска Ответственного Lazarus Dynamics CRM: Администрирование 3 16.06.2008 18:53
ansle: Изменение параметров финансового года Blog bot Dynamics CRM: Blogs 0 09.04.2008 06:08
Почему недоступно изменение параметров? Faina Dynamics CRM: Администрирование 2 09.06.2006 09:45
Передача данных faust911 Dynamics CRM: Разработка 9 07.06.2006 11:02

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:33.