Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > проблемы с ajax loadом


Автор: ashenemy 21.11.2007, 23:41
есть такой вот код
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>

    <script type="text/javascript"src="zxml.js"></script>

    <script type="text/javascript">
        function requestCustomerInfo(sId) {
          getElementById('MyDiv').state.visibility ='VISIBLE';   
          var oXmlHttp = zXmlHttp.createRequest();
            oXmlHttp.open("get", "GetCustomerData.php?id=" + sId, true);
            oXmlHttp.onreadystatechange = function () {
                    if (oXmlHttp.readyState == 4) {
                    if (oXmlHttp.status == 200) {
                      getElementById('MyDiv').state.visibility ='HIDDEN';
                        displayCustomerInfo(oXmlHttp.responseText);
                    } else {
                        displayCustomerInfo("An error occurred: " + oXmlHttp.statusText); //statusText is not always accurate
                    }
                }            
            };
            oXmlHttp.send(null);
        }
        
        function displayCustomerInfo(sText) {
            var divCustomerInfo = document.getElementById("divCustomerInfo");
            divCustomerInfo.innerHTML = sText;
        }
    </script>
</head>
<body>
<div style="display: none;" id="MyDiv"><b>Идет загрузка<br />Секундочку...</b>
</div>
<a href=javascript:requestCustomerInfo(2); >link</a>

    <div id="divCustomerInfo"></div>
</body>
</html>

все работает, но вот когда вставляю  вывод сообщения подождите (    getElementById('MyDiv').state.visibility ='VISIBLE';   
        getElementById('MyDiv').state.visibility ='HIDDEN';
соответственно) выдает ошибку.

Автор: Ghirik 22.11.2007, 05:17
Нужно что то уж одно, либо

Код

document.getElementById('MyDiv').style.visibility = '';

и
Код

document.getElementById('MyDiv').style.visibility = 'hidden';

и не
Код

<div style="display: none;" id="MyDiv">

а
Код

<div style="visibility: hidden" id="MyDiv">


а если
Код

<div style="display: none;" id="MyDiv">

то
Код

document.getElementById('MyDiv').style.display = '';

и
Код

document.getElementById('MyDiv').style.display = 'none';




Автор: ashenemy 22.11.2007, 12:52
Спасабо большое, 

Автор: ashenemy 22.11.2007, 13:31
все работает ошибок не выдает но и  самы строку о том чтобы чел подождал тоже  нет , у меня пока все  работы на начальном этапе может из-за этого,
посмотрите плз это долэжно работать ? иль нет?

Автор: ashenemy 5.12.2007, 02:56
Подправил код 
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>XMLHttp Example 1</title>
    <script type="text/javascript"src="zxml.js"></script>

    <script type="text/javascript">
        function requestCustomerInfo(sId) {

                 document.getElementById("MyDiv").innerHTML = "Загружаю";
                 document.getElementById("MyDiv").style.color="#000";

            var oXmlHttp = zXmlHttp.createRequest();
            oXmlHttp.open("get", "GetCustomerData.php?reg=" + sId, false);

            oXmlHttp.onreadystatechange = function () {
            if (oXmlHttp.readyState == 4) {
                 if (oXmlHttp.status == 200) { 
                 
                 document.getElementById("MyDiv").innerHTML = "Загружено";
                 document.getElementById("MyDiv").style.color="#000";

                    displayCustomerInfo(oXmlHttp.responseText);



                    } 
                else {
                        displayCustomerInfo("An error occurred: " + oXmlHttp.statusText); //statusText is not always accurate
                    }
                }            
            };
            oXmlHttp.send(null);
        }
        
        function displayCustomerInfo(sText) {
        
            var divCustomerInfo = document.getElementById("divCustomerInfo");
            divCustomerInfo.innerHTML = sText;
        }
    </script>
</head>
<body>
    <div id="MyDiv" style="border:1px #ccc solid; width:300px; height: 15px; text-align:center">Загрузить</div>
   <div id="divCustomerInfo"></div>
</body>
</html>

Начальный этап ЗАГРУЗИТЬ - показывает
Конечный этап тоже показывает - ЗАГРУЖЕНО
А вот средний индикатор, который должен выводить ЗАГРУЖАЮ - он  порпускает

ПОмогите плз голову сломал уже

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)