Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 25 Май, 2012, 08:03:34

Страниц: [1]
Печать
Автор Тема: Ajax индикатор загрузки  (Прочитано 1619 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Pasha    ↓ 
13 Март, 2008, 08:24:47
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 7
Сообщений: 1028
Сила слова: 0.68

Заполняем форму, отправляем запрос, выскакивает картинка индикатор загрузки пока сообщение переваривается...
 
Я использую ajax библиотеку Котерова...
Обработчик событий onClick...
 
Столкнулся с проблемой...проверяю не была нажата ли кнопка...а это вроде только на onSubmit срабатывает...
 
подскажите как двигаться
 
Text
function doLoad(name,mail) {
    // Create new JsHttpRequest object.
    var req = new JsHttpRequest();
    // Code automatically called on load finishing.
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            // Write result to page element (_RESULT becomes responseJS).
                document.getElementById('result').innerHTML =
                '<b>Name : ("'+req.responseJS.name+'")</b> Mail : ' +
                '"' + req.responseJS.mail + '"<br> ';
            // Write debug information too (output becomes responseText).
            document.getElementById('debug').innerHTML = req.responseText;
        }
    }
    // Prepare request object (automatically choose GET or POST).
    req.open(null, 'smpl_backend.php', true);
    // Send data to backend.
var quote= new Array(2)
quote[0]= name;
quote[1]= mail;
 
    req.send( { massive: quote } );
}
</script>
 
<form>
    Text: <input type="text" name="text"><br />
    Text2: <input type="text" name="text2"><br />
    <input type="button" value="SEND"
      onclick="doLoad(this.form.text.value,this.form.text2.value)">
</form>
<div id="load"></div>
<div id="result" style="border:1px solid #000; padding:2px">
    Structured results
</div>
<div id="debug" style="border:1px dashed red; padding:2px">
    Debug info
</div>
Записан

r.i.p. puppy
metalalisa    ↓ 
16 Март, 2008, 04:04:43 , спустя 2 дня 7 часов 39 минут 56 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 7
Сила слова: 0

а что мешает в doLoad() добавить флаг "нажатости" кнопки? типа
 
Text

var clicked = false;
function doLoad(name,mail) {
    if (clicked) return;
    clicked = true;
    // ...
}
 
Записан
Pasha    ↓ 
16 Март, 2008, 02:23:38 , спустя 10 часов 18 минут 55 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 7
Сообщений: 1028
Сила слова: 0.68

Text
function doLoad(name,mail) {
    // Create new JsHttpRequest object.
    var req = new JsHttpRequest();
    // Code automatically called on load finishing.
    req.onreadystatechange = function() {
       
document.getElementById('load').innerHTML = 'L O A D I N G . . .';
 
if (req.readyState == 4) {
document.getElementById('load').innerHTML = 'Message complete';           
// Write result to page element (_RESULT becomes responseJS).
                document.getElementById('result').innerHTML =
                '<b>Name : ("'+req.responseJS.name+'")</b> Mail : ' +
                '"' + req.responseJS.mail + '"<br> ';
            // Write debug information too (output becomes responseText).
            document.getElementById('debug').innerHTML = req.responseText;
        }
    }
    // Prepare request object (automatically choose GET or POST).
    req.open(null, 'smpl_backend.php', true);
    // Send data to backend.
var quote= new Array(2)
quote[0]= name;
quote[1]= mail;
 
    req.send( { massive: quote } );
}
Записан

r.i.p. puppy
Страниц: [1]
Печать
 

Перейти в: