За последние 24 часа нас посетили 17793 программиста и 1683 робота. Сейчас ищет 971 программист ...

setTimeout

Тема в разделе "JavaScript и AJAX", создана пользователем fifofafofi, 15 сен 2010.

  1. fifofafofi

    fifofafofi Активный пользователь

    С нами с:
    13 сен 2010
    Сообщения:
    23
    Симпатии:
    0
    Как можно очистить <div перед запросом...
    Скрипт поисковка... который без нажатия на кнопку сразу выдает результаты поиска... Если быстро вводить текст, то предышущий вывод результата не исчезает... получается, что к предыдущему тксту добавляется новый... http://s45.radikal.ru/i108/1009/c0/703d38691bfa.bmp Это если быстро вводить текст... Если медленно, то нормально... Как очистить <div перед выводом?
    Пробывал поставить в скрипт на место где плюсики : document.getElementById('search-result') = " "; но тогда скрипт вообще не хочет искать... Подсказали зделать через setTimeOut.... но не работает! Что не так делаю??? Вроде бы все правильно, а не работает))... Подскажите пожалуйста!, как решить проблему...


    [js]var interval = 2000;
    function createObject() {
    var request_type;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
    request_type = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
    request_type = new XMLHttpRequest();
    }
    return request_type;
    }

    var http = createObject();

    function searchNameq() {
    if (http) {
    try {
    if (interval == 0) {
    searchq = encodeURI(document.getElementById('searchq').value);
    // Set te random number to add to URL request

    http.open('get', 'in-search.php?name='+searchq);
    http.onreadystatechange = searchNameqReply;
    http.send(null);
    } else { alert('interva.l'); }
    }
    catch(e) { alert('catc.h1'); }
    } else { alert('htt.p'); }
    }
    function searchNameqReply() {
    if(http.readyState == 4){
    if (http.status == 200) {
    try {
    var response = http.responseText;
    if (response) {
    setTimeout("searchNameq()",interval);
    } else { alert('respons.e'); }
    document.getElementById('search-result').innerHTML = response;
    }
    catch(e2) { else { alert('catc.h2'); }
    }

    }
    }[/js]


    HTML:
    1. ><form style="margin:0px; padding:0px">
    2. <input name="searchq" type="text" style="width:550px; border:1px solid black" id="searchq" onKeyUp="javascript:searchNameq()" />
    3. </form>
    4. <div id="search-result" align="left" style="width:550px"></div>
     
  2. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    убейте тему, уже такая есть.