PHP.SU

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

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

> Найдено сообщений: 46
lamokk Отправлено: 08 Сентября, 2016 - 17:52:20 • Тема: Нужно обьяснение функции вывода многоуровнего меню • Форум: Вопросы новичков

Ответов: 1
Просмотров: 120
Перебирает массив

$node['parent_id'] = true - признак корневого меню

если нет добавляет подменю, точнне его id
lamokk Отправлено: 23 Июня, 2016 - 15:53:53 • Тема: Axax и данные от правленые в него • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 946
Viper пишет:
lamokk у объекта на который вешаете клик есть data-text и data-id?

Конечно есть.
lamokk Отправлено: 17 Июня, 2016 - 14:59:42 • Тема: Axax и данные от правленые в него • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 946
Viper пишет:
CODE (javascript):
скопировать код в буфер обмена
$("#ggg").click(function(e){
        e.preventDefault();
       
        var $this = $(this);
 
        $.ajax({
                type: "POST",
                url: "test.php",
                data: "text="+$this.data('text')+"&id="+$this.data('id'),
                success: function(val){  
                        $("#content"+$this.data('id')).html(val);
                }
        });
});

Использование $(this) внутри калбеков как родительского может привести к неожиданным результатам.

Странно но Ваш код выдает переменные text и id = undefined.
lamokk Отправлено: 17 Июня, 2016 - 10:46:01 • Тема: Axax и данные от правленые в него • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 946
Здравствуйте.
Мне нужно в обработчике получить данные, но как это сделать не знаю...
Поэтому приведу пример и прошу подсказать как это сделать?
мне нужно к диву content добавить переданный id и прибавить этот номер к content /
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.   $("#ggg").click(function(){  
  3.                 $.ajax({  
  4.                     type: "POST",  
  5.                     url: "test.php",  
  6.                     data: "text="+$(this).data('text')+"&id="+$(this).data('id'),  
  7.                     success: function(val){  
  8.                         $("#content"+нужно добавить переданный id).html(val);  
  9.                     }  
  10.                 });  
  11.                 return false;  
  12.             });  
  13.  


Пробовал так, но не работает
$("#content"+id).html(val);
lamokk Отправлено: 30 Марта, 2016 - 11:55:30 • Тема: Не работает Ajax/Jquery • Форум: Вопросы новичков

Ответов: 23
Просмотров: 1553
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 будет определен


Спасибо большое, помогло.
lamokk Отправлено: 30 Марта, 2016 - 10:37:41 • Тема: Не работает Ajax/Jquery • Форум: Вопросы новичков

Ответов: 23
Просмотров: 1553
Давайте попробуем упростить
код 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>

при нажатии на ссылку вход должны отправляться данные каждый раз, а отправляется через раз, почему?
lamokk Отправлено: 29 Марта, 2016 - 17:33:43 • Тема: Не работает Ajax/Jquery • Форум: Вопросы новичков

Ответов: 23
Просмотров: 1553
Долгое курение мануала по Jquery выдало что надо обращаться с родителю а не ссылки как происходило в моем случае
вот решение:
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.  
  3. $(".enter").on('click', 'a',  function(){  
lamokk Отправлено: 29 Марта, 2016 - 16:43:13 • Тема: Не работает Ajax/Jquery • Форум: Вопросы новичков

Ответов: 23
Просмотров: 1553
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.  
lamokk Отправлено: 29 Марта, 2016 - 16:34:27 • Тема: Не работает Ajax/Jquery • Форум: Вопросы новичков

Ответов: 23
Просмотров: 1553
3d_killer пишет:
а это зачем? $("#ggg").on('click', function(event){
event.preventDefault();
}); если у вас return false прописан?

Это отменяет действие по умолчанию, т.е. отменяет переход по ссылке
просто форма(данные) отправляется по нажатию на ссылку "войти"
lamokk Отправлено: 29 Марта, 2016 - 16:28:18 • Тема: Не работает Ajax/Jquery • Форум: Вопросы новичков

Ответов: 23
Просмотров: 1553
3d_killer пишет:
вот это куда выводит ? $(".enter").html(html);

вот сюда выводим <div class="enter"><?=$enter?></div>
lamokk Отправлено: 29 Марта, 2016 - 16:17:55 • Тема: Не работает Ajax/Jquery • Форум: Вопросы новичков

Ответов: 23
Просмотров: 1553
3d_killer пишет:
и скобки нет, естественно работать не будет
(Добавление)
а где кнопка выход?

Какой и где скобки нет?
Приведенный выше код работает, но на второй раз не срабатывает(1 раз ввожу неправильные логин пароль, а второй правильные, при втором разе ничего не происходит)!

Выход есть если войдемУлыбка
lamokk Отправлено: 29 Марта, 2016 - 16:13:00 • Тема: Не работает Ajax/Jquery • Форум: Вопросы новичков

Ответов: 23
Просмотров: 1553
3d_killer пишет:
ну так а это зачем менять?
CODE (html):
скопировать код в буфер обмена
  1. $(document).ready(function(){


Все равно не срабатывает на второй раз! Что не так?
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.  
  3.    $("#ggg").on('click', function(event){
  4.       event.preventDefault();
  5.    });
  6.  
  7.             $("#ggg").on('click', function(){  
  8.                 $.ajax({  
  9.                     type: "POST",  
  10.                     url: "/php-ajax/login.php",  
  11.                     data: "username="+$("#username").val()+"&password="+$("#password").val()+"&do="+$("#do").val(),    
  12.                     success: function(html){  
  13.                         $(".enter").html(html);  
  14.                     }  
  15.                 });  
  16.                 return false;  
  17.             });  
  18.  
  19.  
  20. });
lamokk Отправлено: 29 Марта, 2016 - 16:10:34 • Тема: Не работает Ajax/Jquery • Форум: Вопросы новичков

Ответов: 23
Просмотров: 1553
3d_killer пишет:
он и по поводу этого сказал
CODE (javascript):
скопировать код в буфер обмена
  1. $("#ggg").click(function

надо так везде
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).on('click',"#ggg",function()
  2. {
  3.  
  4. });


Сделал так: но теперь вообще не работает

CODE (javascript):
скопировать код в буфер обмена
  1. $(document).on('click', '#ggg', function()
  2.  
  3.    $("#ggg").on('click', function(event){
  4.       event.preventDefault();
  5.    });
  6.  
  7.             $("#ggg").on('click', function(){  
  8.                 $.ajax({  
  9.                     type: "POST",  
  10.                     url: "/php-ajax/login.php",  
  11.                     data: "username="+$("#username").val()+"&password="+$("#password").val()+"&do="+$("#do").val(),    
  12.                     success: function(html){  
  13.                         $(".enter").html(html);  
  14.                     }  
  15.                 });  
  16.                 return false;  
  17.             });  
  18.  
  19.  
  20. });


Где ошибка то?
lamokk Отправлено: 29 Марта, 2016 - 15:55:41 • Тема: Не работает Ajax/Jquery • Форум: Вопросы новичков

Ответов: 23
Просмотров: 1553
3d_killer пишет:
а не проще данные как сказал IllusionMH

и послать, тогда не надо будет думать о скрипте при добавлении новых полей

Это как бы отвлечение от темы...
Вопрос в решении срабатывании на второй раз подряд...
lamokk Отправлено: 29 Марта, 2016 - 15:11:25 • Тема: Не работает Ajax/Jquery • Форум: Вопросы новичков

Ответов: 23
Просмотров: 1553
IllusionMH пишет:
lamokk, а после того как вставляете новый HTML кто должен позаботиться о том, чтобы по новой навесить обработчики событий на новую кнопку?
читайте про делегирование событий и метод .on в jQuery
а еще там есть метод .serialize()

Поясните если можно, лучше с примером.
т.к. сделав изменения, ничего не изменилось:
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function(){
  2.  
  3.    $("#ggg").click(function(event){
  4.       event.preventDefault();
  5.    });
  6.  
  7. $('#ggg').on('click', function(){
  8.                 $.ajax({  
  9.                     type: "POST",  
  10.                     url: "/php-ajax/login.php",  
  11.                     data: "username="+$("#username").val()+"&password="+$("#password").val()+"&do="+$("#do").val(),    
  12.                     success: function(html){  
  13.                         $(".enter").html(html);  
  14.                     }  
  15.                 });  
  16.                 return false;  
  17.             });  
  18.  
  19.  
  20. });

Страниц (4): « 1 [2] 3 4 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB