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


Автор: Shark 21.11.2010, 00:30
не хочу использовать ajax, т.к. вывод из БД занимается прядка 2-х сотых секунды и поэтому решил задать вопрос

как вывести текст "Loading..."

при отправки данных в БД методом POST???

другими словами...
юзер выбирает что-то в <select>, нажимает на кнопку и тут он должен увидеть сначала Loading.., а потом уже результат поиска. подскажите как это можно оформить на php (желательна простенький скриптик), а там я его уже сам адаптирую под себя

Автор: Warpkid 24.11.2010, 19:24
Я бы сделал через js: 

Код

<script type="text/javascript">
function showMsg(){
document.getElementById('msgbox').innerHTML="Loading..";
document.getElementById('formbox').style.display="none";
}
</script>

<div id="msgbox"></div>
<div id="formbox">
//тут форма, ее спрячем
...
<input type=submit value="Отправить" onclick="showMsg();">
</div>


Автор: bars80080 24.11.2010, 20:06
причём здесь пхп вообще? показать что-то, пока отправляется запрос - конечно задача должна быть решена на клиенте.

выше вполне подходящий пример

Автор: Shark 26.11.2010, 20:55
Warpkid, все хорошо, но:
Код

<script type="text/javascript">
function showMsg(){
document.getElementById('msgbox').innerHTML="Loading..";
}
</script>
<div id="msgbox"></div>
<div id="formbox">
<a href='' onclick="showMsg();">Проверка</a>
<type=button onclick="showMsg();" value="Отправить" >
</div>
<?php
sleep(2);
?>

если я нажму на линк.. то как раз Loading... показывается 2 секунды... а вот на копке "зависает" как сделать тоже самое на кнопке, что и на линке?

сорри за оффтоп... если будет дан рабочий ответ (намек). тему помечу как решенную, если нет, попрошу перенести тему.

Автор: Warpkid 26.11.2010, 22:16
Подожди, почему type=button, и зачем sleep(2) ? Я что-то не понимаю

Автор: Shark 26.11.2010, 23:08
Warpkid, 
1. протестируй код
2. http://htmlbook.ru/html/input/type

Автор: Dastan 26.11.2010, 23:42
Цитата(Shark @  26.11.2010,  20:55 Найти цитируемый пост)
если я нажму на линк.. то как раз Loading... показывается 2 секунды... а вот на копке "зависает" как сделать тоже самое на кнопке, что и на линке?

когда нажимаешь на ссылку, то страница перезагружается, так и должно быть?

Код

function showMsg() {
    document.getElementById('msgbox').innerHTML="Loading..";
    location.reload();
}

?


Автор: Warpkid 27.11.2010, 00:16
Код тестировал, работает как надо.

Цитата

2. http://htmlbook.ru/html/input/type 


Ну у тебя форма, и должен быть type=submit

Автор: Shark 27.11.2010, 09:50
Dastan, спс, то, что нужно

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