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
Форумы портала PHP.SU :: Версия для печати :: Не работает Ajax/Jquery [2]
Форумы портала PHP.SU » » Вопросы новичков » Не работает Ajax/Jquery

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

16. 3d_killer - 29 Марта, 2016 - 16:36:20 - перейти к сообщению
а не проще href="" убрать?
17. lamokk - 29 Марта, 2016 - 16:43:13 - перейти к сообщению
3d_killer пишет:
а не проще href="" убрать?

Мы с Вами опять ушли от темы!
Второй раз не отправляются данные, что не так?
(Добавление)
Вот последняя версия кода, но все равно при повторном нажатии не работает, подскажите куда дальше копать?
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.  
  3. $("#ggg").on('click', function(){  
  4.   var form=$('#myForm').serialize();
  5.  
  6.     $.ajax({  
  7.                 type: "POST",  
  8.                 url: "/php-ajax/login.php",  
  9.                 data: form,
  10.                 success: function(html){  
  11.                         $(".enter").html(html);  
  12.                 }  
  13.     });  
  14.     return false;
  15. });  
  16.  
  17.  
  18. });
  19.  
18. 3d_killer - 29 Марта, 2016 - 17:16:14 - перейти к сообщению
думаю что происходит ошибка в JS после ошибки он не работает, проще поставить FIREBUG и посмотреть что за ошибка
19. lamokk - 29 Марта, 2016 - 17:33:43 - перейти к сообщению
Долгое курение мануала по Jquery выдало что надо обращаться с родителю а не ссылки как происходило в моем случае
вот решение:
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.  
  3. $(".enter").on('click', 'a',  function(){  
20. 3d_killer - 29 Марта, 2016 - 18:21:57 - перейти к сообщению
бред
может кнопку удаляешь может еще что
на самом деле пофиг нам ты код показываешь один на самом деле HTML у тебя другой, а то что ты написал это бред
21. IllusionMH - 29 Марта, 2016 - 21:04:23 - перейти к сообщению
del.
22. lamokk - 30 Марта, 2016 - 10:37:41 - перейти к сообщению
Давайте попробуем упростить
код JS правильный?
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.  
  3. $("#ggg").on('click', function(){  
  4.   var form=$('#myForm').serialize();
  5.  
  6.     $.ajax({  
  7.                 type: "POST",  
  8.                 url: "/php-ajax/login.php",  
  9.                 data: form,
  10.                 success: function(html){  
  11.                         $(".enter").html(html);  
  12.                 }  
  13.     });  
  14.     return false;
  15. });  
  16.  
  17.  
  18. });


Как меняется HTML
<div class="enter">тут содержимое динамичное</div>

Вот форма авторизации
CODE (html):
скопировать код в буфер обмена
  1. <p>Авторизоваться</p>
  2. <form id="myForm">
  3.     <ul>
  4.         <li><input type="username"  id="username" name="username" placeholder="yourname@email.com" required></li>
  5.         <li><input type="password"  id="password" name="password" placeholder="password" required></li>
  6.         <li><a href="" id="ggg">Вход</a></li>
  7.     </ul>
  8. <input type="hidden"  id="do" name="do" value="enter">
  9. </form>
  10. <a href="/restore/">Забыли пароль?</a> <a href="/register/">Регистрация</a>

при нажатии на ссылку вход должны отправляться данные каждый раз, а отправляется через раз, почему?
23. esterio - 30 Марта, 2016 - 11:46:43 - перейти к сообщению
С самого начала дали подсказку про делегирование собитий.
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).on('click', '#ggg', function(e){  
  2.     e.preventDefault();
  3.     $.ajax({  
  4.                 type: "POST",  
  5.                 url: "/php-ajax/login.php",  
  6.                 data: $('#myForm').serialize(),
  7.                 success: function(html){  
  8.                         $(".enter").html(html);  
  9.                 }  
  10.     });
  11. });


И не нужно никаких ready. Уже в тот момент document будет определен
24. lamokk - 30 Марта, 2016 - 11:55:30 - перейти к сообщению
esterio пишет:
С самого начала дали подсказку про делегирование собитий.
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).on('click', '#ggg', function(e){  
  2.     e.preventDefault();
  3.     $.ajax({  
  4.                 type: "POST",  
  5.                 url: "/php-ajax/login.php",  
  6.                 data: $('#myForm').serialize(),
  7.                 success: function(html){  
  8.                         $(".enter").html(html);  
  9.                 }  
  10.     });
  11. });


И не нужно никаких ready. Уже в тот момент document будет определен


Спасибо большое, помогло.

 

Powered by ExBB FM 1.0 RC1