За последние 24 часа нас посетили 16422 программиста и 1677 роботов. Сейчас ищет 821 программист ...

Проблема с onclick в AJAX

Тема в разделе "JavaScript и AJAX", создана пользователем thedriveee, 3 июн 2012.

  1. thedriveee

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

    С нами с:
    16 май 2012
    Сообщения:
    12
    Симпатии:
    0
    Всем привет!

    У меня возникла проблема с onclick обработчиком. При нажатии на кнопку данные загружаются и сразу же пропадают. Не могу понять почему =(

    Мб у кого была подобная проблема... Очень прошу помочь.




    Вот код:

    <script type="text/javascript">


    //Создание объека AJAX
    req = new XMLHttpRequest();

    //Обращение к файлу, который что-то возвращяет в заголовке
    var link = "getbooktxt.php";
    req.open("HEAD", link, true);
    req.send(null);


    //Функция, которая изменяет текстовое поле блока с id - divResult
    function getBook () {
    document.getElementById('divResult').firstChild.nodeValue = req.getResponseHeader("Book");
    }


    </script>


    <form>
    <label for="txtNum">Введите номер книги:</label>
    <input id="txtNum" type="text" />

    <!-- Обработчик события -->
    <button onclick="getBook();">Поиск</button>
    </form>
    <div id="divResult">&nbsp;</div>

    Дублирую:

    Код (Text):
    1.  
    2.     <script type="text/javascript">
    3.  
    4.            
    5.             //Создание объека AJAX
    6.             req = new XMLHttpRequest();
    7.            
    8.             //Обращение к файлу, который что-то возвращяет в заголовке
    9.             var link = "getbooktxt.php";
    10.             req.open("HEAD", link, true);
    11.             req.send(null);
    12.            
    13.            
    14.             //Функция, которая изменяет текстовое поле блока с id - divResult
    15.             function getBook () {
    16.                 document.getElementById('divResult').firstChild.nodeValue = req.getResponseHeader("Book");
    17.             }
    18.  
    19.  
    20.     </script>
    21.  
    22.    
    23.     <form>
    24.         <label for="txtNum">Введите номер книги:</label>
    25.         <input id="txtNum" type="text" />
    26.        
    27.         <!-- Обработчик события -->
    28.         <button onclick="getBook();">Поиск</button>
    29.     </form>
    30.     <div id="divResult">&nbsp;</div>
    Заранее всем огромное спасибо!
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Исчезает - потому, что у тебя форма отправляется и страница перезагружается, когда на кнопку нажимаешь =)
    Замени
    Код (Text):
    1. onclick="getBook();"
    на
    Код (Text):
    1. onclick="getBook();return(false);"
     
  3. thedriveee

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

    С нами с:
    16 май 2012
    Сообщения:
    12
    Симпатии:
    0
    Спс большое, помогло! Впредь буду знать =)
     
  4. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. onclick="getBook();return false"
    2.