|
|
#1 |
|
Участник
|
передача параметров функции
Здравствуйте,есть такой вопрос.
На форме есть 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
}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); Проблема такая-ошибки не выдается,но при этом ничего и не происходит. Как правильно решить такую проблему?
|
|
|
|
|
#2 |
|
CRM
|
Такое будет работать только на той форме где Вы в 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;
}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). | |
|
|
#3 |
|
Участник
|
Спасибо большое, разобрался и все сделал
![]() Только вот не пойму что за проблема с фокусом checkbox'a. При включении его,приходится щелкнуть еще на форме,чтобы сработало OnChange. |
|
|
|
|
#4 |
|
Moderator
|
Это у всех полей так. OnChange срабатывает только когда вы закончили редактирование - сменили фокус.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() MS Certified Dirty Magic Professional
|
|
|
|
|
#5 |
|
CRM
|
onclick какой-нибудь надо. Надо доки по DOM смотреть.
__________________
MS CRM 3.0/4.0 ![]() Sharepoint 2003, MOSS 2007/2010 ![]() |
|
|
|
|
#6 |
|
Участник
|
Цитата:
Для появление ошибки Вам стоит разрешить дебаг в ИЕ. См. настройки браузера.
|
|
|
|
|
#7 |
|
CRM
|
Сервис-Свойства обозревателя-Дополнительно-Обзор и снять галочки с "Отключит отладку сценариев..."
__________________
MS CRM 3.0/4.0 ![]() Sharepoint 2003, MOSS 2007/2010 ![]() |
|
|