Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обновление input из JS, Небольшая учебная прога не работает 
:(
    Опции темы
antondrafff
Дата 9.9.2008, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичек



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.7.2008
Где: moscow

Репутация: нет
Всего: нет



У меня вопрос к людям знающим JS.
Небольша учебная программа не правильно работает и я не могу понять почему.... Сам недавно стал осваивать JS, поэтому немогу разобраться сам. 
Проблема вот в чем:
На JSP странице небольшая форма, на ней дерево (edTree библиотека). Вначале по умолчанию у дерева есть только рутовый узел. При нажатии на него вызывает простая JS функция, которая AJAX`ом вызывает из другой JSP строку со значениями. У дерева дорисовываются дети рутового объекта. И в конце функции некоторому эллементу <input id="inputId" name="inputName" value=""/> в атрибут value пишется id выбранного узла, тут и кроется основная проблема.... в value прописывается нужное значение, а потом значение по умолчанию. Почему?
Код функции где все падает:
Код

function addNode(nodeid, node, isedit)
{
    var flag = 1;
   //установка флага
    if (flag == 1)
    {
        var url;
       //создание урл
        var mygetrequest = new ajaxRequest();//cоздание AJAX запроса
        mygetrequest.onreadystatechange = function()
        {
            if (mygetrequest.readyState == 4)
            {
                if (mygetrequest.status == 200 || window.location.href.indexOf("http") == -1)
                {
                    var s = new String(mygetrequest.responseText);
                    //работа с результатом
                }
                else
                {
                    alert("An error has occured making the request")
                }
            }
        }
        mygetrequest.open("GET", url, true);
        mygetrequest.send(null);
    }
    var extElem = document.getElementById('ext');
    extElem.value = nodeid;
    alert(document.getElementById('ext').value);
}

В проге на строчках:
var extElem = document.getElementById('ext');
    extElem.value = nodeid;
    alert(document.getElementById('ext').value);
происходит какая то магия - alert() вызывается 2 раза, вместо 1-ого, и вначеле value - какое надо, а потом вновь умолчания

Это сообщение отредактировал(а) antondrafff - 9.9.2008, 21:15
PM MAIL WWW ICQ Skype   Вверх
bars80080
Дата 9.9.2008, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



я так понимаю происходит вызов этой функции дважды. случаем не на событие onchange ориентирован её вызов?
PM MAIL WWW   Вверх
antondrafff
Дата 9.9.2008, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичек



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.7.2008
Где: moscow

Репутация: нет
Всего: нет



на onclick()
я незнаю откуда происходит второй вызов, если это он(((

поищу... спасиб за подсказку....
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0877 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.