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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> неправильно считает элементы... 
V
    Опции темы
Entwickler
Дата 14.11.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Привет ещё раз!!!  smile  smile 
Вот никак не могу полусить правельное значение элементов в XML файле...
Код

<?xml version="1.0" encoding="UTF-8" ?>
<activities>
    <montag></montag>
    <dienstag></dienstag>
    <mittwoch></mittwoch>
    <donnerstag></donnerstag>
    <freitag></freitag>
    <samstag></samstag>
    <sonntag></sonntag>
</activities>


а вот код который это дело считает
Код

<html>
    <head>
        <title>Activit&auml;ten f&uuml:r diese Woche</title>
        <script language="javascript" type="text/javascript" >
            var xmlHttp;
            var requestType = "";
            
            function createXMLHttpRequest(){
                if(window.ActiveXObject){
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                } else if(window.XMLHttpRequest){
                    xmlHttp = new XMLHttpRequest();
                }
            }
            
            function startRequest(requestName){
                requestType = requestName;
                createXMLHttpRequest();
                xmlHttp.onreadystatechange = handleStateChange;
                xmlHttp.open("GET","activities2.xml",true);
                xmlHttp.send(null);
            }
            
            function handleStateChange(){
                if(xmlHttp.readyState == 4){
                    if(xmlHttp.status == 200){
                        if(requestType == "all"){
                            listAllActivities();
                        }
                    }
                }
            }
            
            function listAllActivities(){
                var xmlDoc = xmlHttp.responseXML;
                var rootNode = xmlDoc.getElementsByTagName("activities")[0].firstChild;
                var Knoten = rootNode;
                var i = 0;
                
                while(Knoten != null){
                    i++;
                    //alert(Knoten.nodeName + " | " + Knoten.nodeType);
                    Knoten = Knoten.nextSibling;
                }
                alert(i);
            }
            
        </script>
    </head>
    <body>
        <h1>Activit&auml;ten f&uuml;r die Woche</h1>
        <form action="#" >
            <input type="button" value="Activities for this week" onClick="startRequest('all');" />
        </form>
    </body>
</html>

короче этот гад говорит что их 15 когда их всего 7!!! Мне нужны только дни недели... то есть <montag> -- понедельник и так далее...
PM MAIL   Вверх
Entwickler
  Дата 14.11.2008, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вроде бы разобрался... но что то мне не до конца нравиться код... надо ещё подумать... есть предложения?
Код

<?xml version="1.0" encoding="UTF-8" ?>
<activities>
    <montag>
        <activity>
            <name>1</name>
            <time>09:00</time>
            <description>first</description>
        </activity>
        <activity>
            <name>2</name>
            <time>10:00</time>
            <description>second</description>
        </activity>
        <activity>
            <name>3</name>
            <time>11:00</time>
            <description>third</description>
        </activity>
    </montag>
    <dienstag>
        <activity>
            <name>1</name>
            <time>09:00</time>
            <description>first</description>
        </activity>
        <activity>
            <name>2</name>
            <time>10:00</time>
            <description>second</description>
        </activity>
        <activity>
            <name>3</name>
            <time>11:00</time>
            <description>third</description>
        </activity>
    </dienstag>
    <mittwoch>
        <activity>
            <name>1</name>
            <time>09:00</time>
            <description>first</description>
        </activity>
        <activity>
            <name>2</name>
            <time>10:00</time>
            <description>second</description>
        </activity>
        <activity>
            <name>3</name>
            <time>11:00</time>
            <description>third</description>
        </activity>
    </mittwoch>
    <donnerstag>
        <activity>
            <name>1</name>
            <time>09:00</time>
            <description>first</description>
        </activity>
        <activity>
            <name>2</name>
            <time>10:00</time>
            <description>second</description>
        </activity>
        <activity>
            <name>3</name>
            <time>11:00</time>
            <description>third</description>
        </activity>
    </donnerstag>
    <freitag>
        <activity>
            <name>1</name>
            <time>09:00</time>
            <description>first</description>
        </activity>
        <activity>
            <name>2</name>
            <time>10:00</time>
            <description>second</description>
        </activity>
        <activity>
            <name>3</name>
            <time>11:00</time>
            <description>third</description>
        </activity>
    </freitag>
    <samstag>
        <activity>
            <name>1</name>
            <time>09:00</time>
            <description>first</description>
        </activity>
        <activity>
            <name>2</name>
            <time>10:00</time>
            <description>second</description>
        </activity>
        <activity>
            <name>3</name>
            <time>11:00</time>
            <description>third</description>
        </activity>
    </samstag>
    <sonntag>
        <activity>
            <name>1</name>
            <time>09:00</time>
            <description>first</description>
        </activity>
        <activity>
            <name>2</name>
            <time>10:00</time>
            <description>second</description>
        </activity>
        <activity>
            <name>3</name>
            <time>11:00</time>
            <description>third</description>
        </activity>
    </sonntag>
</activities>


обработчик

Код

<html>
    <head>
        <title>Activit&auml;ten f&uuml:r diese Woche</title>
        <script language="javascript" type="text/javascript" >
            var xmlHttp;
            var requestType = "";
            
            function createXMLHttpRequest(){
                if(window.ActiveXObject){
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                } else if(window.XMLHttpRequest){
                    xmlHttp = new XMLHttpRequest();
                }
            }
            
            function startRequest(requestName){
                requestType = requestName;
                createXMLHttpRequest();
                xmlHttp.onreadystatechange = handleStateChange;
                xmlHttp.open("GET","activities2.xml",true);
                xmlHttp.send(null);
            }
            
            function handleStateChange(){
                if(xmlHttp.readyState == 4){
                    if(xmlHttp.status == 200){
                        if(requestType == "all"){
                            listAllActivities();
                        }
                    }
                }
            }
            
            function listData(Knoten){
                var currentKnoten = Knoten;
                var activities = currentKnoten.getElementsByTagName("activity");
                var list = "<table border='1'><tr><td rowspan=" + activities.length+1 + ">" + currentKnoten.nodeName + "</td></tr>";
                
                for(var i = 0; i < activities.length; i++){
                    var Name = activities[i].getElementsByTagName("name")[0].firstChild.nodeValue;
                    var Time = activities[i].getElementsByTagName("time")[0].firstChild.nodeValue;
                    var Desc = activities[i].getElementsByTagName("description")[0].firstChild.nodeValue;
                    
                    list += "<tr><td>" + Name + "</td><td>" + Time + "</td><td>" + Desc + "</td></tr>";
                }
                
                list += "</table>";
                
                document.getElementById("results").innerHTML = list;
            }
            
            function listAllActivities(){
                var xmlDoc = xmlHttp.responseXML;
                var rootNode = xmlDoc.getElementsByTagName("activities")[0].firstChild;
                var Knoten = rootNode;
                var list = "<table border='1'>";
                
                while(Knoten != null){
                    if(Knoten.nodeType == 3){
                        ;
                    } else if(Knoten.nodeType == 1){
                        var activities = Knoten.getElementsByTagName("activity");
                        var currentKnoten = Knoten;
                        list += "<tr><td colspan=" + activities.length+1 + ">" + currentKnoten.nodeName + "</td></tr>";
                
                        for(var i = 0; i < activities.length; i++){
                            var Name = activities[i].getElementsByTagName("name")[0].firstChild.nodeValue;
                            var Time = activities[i].getElementsByTagName("time")[0].firstChild.nodeValue;
                            var Desc = activities[i].getElementsByTagName("description")[0].firstChild.nodeValue;
                    
                            list += "<tr><td>" + Name + "</td><td>" + Time + "</td><td>" + Desc + "</td></tr>";
                        }
                    }
                    Knoten = Knoten.nextSibling;
                }
                    list += "</table>";
                    document.getElementById("results").innerHTML = list;
            }
            
        </script>
    </head>
    <body>
        <h1>Activit&auml;ten f&uuml;r die Woche</h1>
        <form action="#" >
            <input type="button" value="Activities for this week" onClick="startRequest('all');" />
        </form>
        <span id="results"></span>
    </body>
</html>


Добавлено через 15 секунд
 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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