Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Небольшой js.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Gerd
Отправлено: 02 Декабря, 2012 - 15:10:38
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 650
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)

[+][+][+]


В интернете полно примеров, но что та не то. У самого реализовано все, но как один лабиринт(бред).
Буду благодарен если кто нибудь напишет или скинет сылку на:
Есть форма, которую отправляем без перезагрузки страницы. Во время отправки, когда ответ от php скрипта не пришел, выводим анимационную картинку(gif). Ответ пришел , убираем анимацию и выводи сам ответ скрипта.(Проделываем при помощи jaix)

Или подскажите как подправить так чтоб анимация была на (html) элемент id="TABL"

Js плохо понимаю, щас сделал так:
CODE (javascript):
скопировать код в буфер обмена
  1. var add = {
  2.         setup: function(appendTo) {
  3.                 add.msgID = 'add';
  4.                 if (appendTo == undefined)
  5.                         appendTo = 'body';                     
  6.                 $(appendTo)
  7.                         .append($('<div>').attr('id',add.msgID).addClass('add')
  8.                                 .append('<p></p>')
  9.                         )
  10.         },
  11.         displayMsg: function(msg) {
  12.                 if (msg == '')
  13.                         return;
  14.                 $('#'+add.msgID).html(msg);
  15.         }
  16. };
  17.  
  18. $(document).ready(function(){
  19.         add.setup();
  20. })
  21.  
  22.     $(document).ready(function() {
  23.                 $('#add-post').submit(function() {
  24.                         var data = $(this).serialize();
  25.                         $.ajax({
  26.                                 type:'POST',
  27.                                 url:'ajax.php?do=ajax_post',
  28.                                 data:data + '&go=1',
  29.                                 success:function(result) {             
  30.                                           add.displayMsg(result);
  31.                                 }
  32.                         });
  33.                 return false;
  34.                 });                                            
  35.         });


Отсылаем данные формы к php, в php выводим ответ как:

PHP:
скопировать код в буфер обмена
  1.  echo <<<HTML
  2. <script type='text/javascript'>                                                
  3.         document.getElementById("TABL").innerHTML ='Сообщение принято.';                                                               
  4. </script>
  5. HTML;

Подскажите более простой вариант уже с анимацией(когда форма была отправлена, а ответa еще нет)=( Спс.

(Отредактировано автором: 02 Декабря, 2012 - 15:16:07)

 
 Top
Denkill
Отправлено: 02 Января, 2013 - 10:44:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 330
Дата рег-ции: Янв. 2013  
Откуда: Барнаул


Помог: 7 раз(а)




Сделай лучше без JQuery вот так
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function loadXMLDoc()
  3. {
  4. //Здесь мы устанавливаем анимацию
  5. document.getElementById("gif").innerHTML="<img src="img/gif.gif">";
  6. var xmlhttp;
  7. if (window.XMLHttpRequest)
  8.   {// code for IE7+, Firefox, Chrome, Opera, Safari
  9.   xmlhttp=new XMLHttpRequest();
  10.   }
  11. else
  12.   {// code for IE6, IE5
  13.   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  14.   }
  15. xmlhttp.onreadystatechange=function()
  16.   {
  17.   if (xmlhttp.readyState==4 && xmlhttp.status==200)
  18.     {
  19.     document.getElementById("gif").innerHTML="";
  20.     }
  21.   }
  22. //ajax_info.php файл со скриптом а GET это способ передачи данных
  23. xmlhttp.open("GET","ajax_info.php",true);
  24. xmlhttp.send();
  25. }
  26.  


CODE (html):
скопировать код в буфер обмена
  1.  
  2. <button onClick="LoadXMLDoc();">Просто кнопка</button>
  3. <!--И DIV с анимацией!-->
  4. <div id="gif"></div>
  5.  


-----
Хо-Хо-Хо
 
 Top
halsoft
Отправлено: 02 Января, 2013 - 11:15:35
Post Id



Гость


Покинул форум
Сообщений всего: 94
Дата рег-ции: Нояб. 2012  
Откуда: The Land of Chechens


Помог: 3 раз(а)




Прочитайте о событиях ajaxStart и ajaxStop. Можете сделать примерно следующее:

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. $.ajax( {
  4.  
  5. ajaxStart: function() {
  6. $('#myGIF').show();
  7. },
  8. ajaxStop: function() {
  9. $('#myGIF').hide();
  10. }
  11.  
  12. });
  13.  
  14.  


Где #myGIF - это ID вашего изображения.

(Отредактировано автором: 02 Января, 2013 - 11:16:40)



-----
Хорошие дела улучшают настроение, делают жизнь счастливей, а людей человеками.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB