| 
	
	
		
		
			
			 
				Выполнение сценария до/после загрузки страницы
			 
			
		
		
		
		Приветствую, помогите пожалуйста решить проблему с отображением div элемента. Не был уверен как описать проблему в заголовке, так что постараюсь описать как можно подробнее здесь. 
Ситуация следующая: Поиск. есть формачка сверху каждой странички, и соответственно на странице поиска. Необходимо реализовать отображение сообщения (локализованного для пользователя) если ввод меньше 3 символов. Что я сделал: 
 
1. Поместил див контейнер с лейблом который отображает текст на основне текущего lid параметра. - сделано на jsp и кастом тэг библиотеке. 
2. Если ввод меньше чем 3 символа сделать див видимым. если больше скрыть. - сделано на js 
3. Если на сервер пришел запрос длинной меньше трех символов, отправить обратно не обновляя. - сделано на тех же servlets, jsp, struts 1.3.8,... 
4. Проблема в том что если я пытаюсь выполнить поиск с главной страницы то js дойдя до места где нужно отобразить див его конечно не видет (страница на которой спрятан див - поиск...там либо результаты либо сообщение об ошибке).  
Так вот, как мне выполнить отображение div после того как страница вернулась с пустыми результатами с сервера(т.е. на сервер пришел запрос поискать что то меньше 3 символов, сервер отдал пустую страницу (базовую) без результатов(сам поиск выполнен не был))? 
 
вот мой кусок js кода: 
 
  function search(form){ 
	  var searchForm = document.getElementById(form); 
	  var searchFieldValue = getElementsByClassName(searchForm,'search')[0].value; 
	  var errMsgDiv = document.getElementById("ErrMsgLessThanThree"); 
	   
	  if(!searchFieldValue == ''){ 
		  searchForm.currentPage.value="1"; 
		  if (searchFieldValue.length < 3) { 
			  if (errMsgDiv == null) { 
				  console.log("111"); 
				  searchForm.submit(); 
				  window.onload=showValidationErrorMsg(); 
			  } else { 
				  console.log("222"); 
				  showValidationErrorMsg(); 
			  }   
		  } else { 
			  hideValidationErrorMsg(); 
			  searchForm.submit(); 
			  window.onload=hideValidationErrorMsg(); 
		  }   
  	} 
  } 
   
  function hideValidationErrorMsg() { 
	  var errMsgDiv = document.getElementById("ErrMsgLessThanThree"); 
 
	  if (errMsgDiv.style.visibility = "visible") { 
		  errMsgDiv.style.visibility = "hidden"; 
	  } 
  } 
   
  function showValidationErrorMsg() { 
	  var errMsgDiv = document.getElementById("ErrMsgLessThanThree"); 
 
	  if (errMsgDiv.style.visibility = "hidden") { 
		  errMsgDiv.style.visibility = "visible"; 
	  } 
  } 
   
  // Not supported in IE6 so we have to manually define 
   
  function getElementsByClassName(node, classname) 
  { 
      var a = []; 
      var re = new RegExp('\\b' + classname + '\\b'); 
      var els = node.getElementsByTagName("*"); 
      for(var i=0,j=els.length; i<j; i++) 
          if(re.test(els[i].className))a.push(els[i]); 
 
      return a; 
} 
 
Я не программист на JavaScript, знаю его постольку поскольку раз в 5лет с ним сталкиваешься. Надеюсь на вашу помощь в выделеном фрагменте. Спасибо. 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 |