![]() |
#1 |
Moderator
|
Упрощаем поиск
Давече возникла передо мной задача - убрать из поиска все атрибуты, которых нет на форме объекта. Задача не сложная, но захотелось оптимизировать - хотя бы автоматически получить список всех полей на форме. Вот так, например:
var str; var fields = crmForm.all; for (var i=0; i<fields.length; i++) { if (fields[i] != null && fields[i].Label != null ) { str+= "\n" + fields[i].Label; } } crmForm.all.description.DataValue = str Пусто. Стал проверять и оказалось, что на форме у меня больше 500 полей и ни у одного из них не отображается метка. Коллеги, есть догадки на этот счет?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
![]() |
#2 |
CRM
|
Т.е. Вы хотите получить название этих самых полей? Но вроде у объекта нет свойства Label.
X++: function getElementsByClass(searchClass,node,tag) { var classElements = new Array(); if ( node == null ) node = document; if ( tag == null ) tag = '*'; var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)'); for (i = 0, j = 0; i < elsLen; i++) { if ( pattern.test(els[i].className) ) { classElements[j] = els[i]; j++; } } return classElements; } function getElementsByAttribute(node,tag,attribute,value) { var classElements = new Array(); if ( node == null ) node = document; if ( tag == null ) tag = '*'; var els = node.getElementsByTagName(tag); var elsLen = els.length; for (var i=0, j=0; i<elsLen; i++) { if(els[i].getAttribute(attribute) == value) { classElements[j] = els[i]; j++; } } return classElements; } Удачи!
__________________
MS CRM 3.0/4.0 ![]() Sharepoint 2003, MOSS 2007/2010 ![]() |
|
![]() |
#3 |
Moderator
|
Свойство Label описано в SDK:
{Field}.Label String Get property. Returns the label used on the control. It can return null if the label is not being displayed on the form. К сожалению getElementsByClass("td", null, "n") не работает. Я не очень силен в веб программировании, так что не берусь судить почему. ![]()
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() Последний раз редактировалось Артем Enot Грунин; 30.04.2008 в 08:25. |
|
![]() |
#4 |
Moderator
|
Решил вопрос проще и в некотором роде удобнее - получил список полей которых нет на форме. Просто нажимаем кнопку "добавить поля" и видим все атрибуты которые нужно удалить из поиска.
![]() Вопрос почему не работает свойство Label оставляю открытым.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
![]() |
#5 |
CRM
|
Ну да, точно! Я и не подумал
![]() ![]()
__________________
MS CRM 3.0/4.0 ![]() Sharepoint 2003, MOSS 2007/2010 ![]() |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|