Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.04.2011, 18:45
Новичок на форуме
Отправить личное сообщение для br00ks Посмотреть профиль Найти все сообщения от br00ks
 
Регистрация: 25.04.2011
Сообщений: 2

Выполнение сценария до/после загрузки страницы
Приветствую, помогите пожалуйста решить проблему с отображением 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лет с ним сталкиваешься. Надеюсь на вашу помощь в выделеном фрагменте. Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 27.04.2011, 17:46
Новичок на форуме
Отправить личное сообщение для br00ks Посмотреть профиль Найти все сообщения от br00ks
 
Регистрация: 25.04.2011
Сообщений: 2

Тема закрыта
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение JS-кода после загрузки страницы (НЕ window.onload!) fox Events/DOM/Window 1 14.02.2011 00:59
Порядок загрузки страницы и javascript prog90 Events/DOM/Window 9 18.12.2010 21:42
Как дождаться ПОЛНОЙ загрузки страницы? arma Events/DOM/Window 7 04.11.2009 20:05
Событие полной загрузки страницы Never Events/DOM/Window 4 07.07.2009 02:11
Как выдавать ошибку при сбросе загрузки страницы? AvaGet Общие вопросы Javascript 2 11.12.2008 19:04