| 
			
			 | 
		#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, снятие/наведение порчи. Быстро, дорого, гарантия. ![]()   MS Certified Dirty Magic Professional
			 | 
| 
	
 | 
| 
			
			 | 
		#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, снятие/наведение порчи. Быстро, дорого, гарантия. ![]()   MS Certified Dirty Magic Professional
			Последний раз редактировалось Артем Enot Грунин; 30.04.2008 в 08:25.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Решил вопрос проще и в некотором роде удобнее - получил список полей которых нет на форме. Просто нажимаем кнопку "добавить поля" и видим все атрибуты которые нужно удалить из поиска.  
		
		
		
		
		
		
			  Прошу прощения, за бесполезный пост.Вопрос почему не работает свойство Label оставляю открытым. 
				__________________ 
		
		
		
		
	http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]()   MS Certified Dirty Magic Professional
			 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 CRM 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну да, точно! Я и не подумал  
		
		
		
		
		
		
			  Давно кастомизацией не занимался  
		
				__________________ 
		
		
		
		
	MS CRM 3.0/4.0 ![]() Sharepoint 2003, MOSS 2007/2010 ![]()  | 
| 
	
 |