Сверьте внимательно то, что я написал, с тем, что у вас - отсутствие return false; в обработчике submit, а это значит отправка формы естественным способом с перегрузкой страницы.
|
Все поправил итог тот же никакой реакции..Немогу понять..гет проходит из подгруженного крнтента а пост нет..
|
Слушайте если мы вставляем обработчик в подгружаемый контент его разве ненадо обернуть в какую нибудь функцию или <script></script> ???
|
<? if($_GET['f']) exit('<form id="postform"><input name="as" value=15><button>Send</button></form>'); if($_POST) exit('Received: ' . http_build_query($_POST)); ?> <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> <script> $(function() { $('#content').on('click','.mod2',function(e){ var url = this.href; $.ajax({ type: 'GET', url: url, success: function(data){ $('#content').html(data) .find('#postform') .submit(function() { $.ajax({ type: 'POST', url: location, dataType: "html", data: $(this).serialize(), success: function(data){ alert(data) } }); return false; }) } }); return false; }); }); </script> </head> <body> <div id="content"> <a class="mod2" href="?f=1">Get form</a> </div> </body> </html> Сохраните под любым именем как РНР файл и запустите. Три "в одном флаконе" - страница, получение формы, отправка формы. Код тот же самый, только убрано не влияющее на саму суть вопроса, и вместо url запросов используется текущий url (адрес ссылки и location при отправке формы). То есть, если все написано корректно, то проблем быть не должно. |
Ваш код работает.. Но он не подгруженный контент..
Статиком у меня тоже работает а вот из подгруженного контента формы гет работает а пост нет... В любом случае БОЛЬШОЕ СПАСИБО...Было очень позновательно... |
Странно...В отдельном файле работает а в моем никак...
Буду разбиратся в своих косяках.. Всем спасибо.. |
Статиком у меня тоже работает а вот из подгруженного контента формы гет работает а пост нет...
Значит обработчики событий делегируются элементам, которых нет на странице, других объяснений нет. |
Хоть раз за 3 страницы посоветовали ему консоль открыть?
|
Нашол решение...
Работает 100% Может кому пригодится... Можно динамически подменять все что угодно.. Передав масив с ключ - данные и через цикл вывести все что передали... $('#content').on('submit','#postform',function(){ var form = $(this); var error = false; form.find('input, textarea').each( function(){ if ($(this).val() == '') { alert('Заполните поле "'+$(this).attr('placeholder')+'"!'); error = true; } }); if(!error){ var data = form.serialize(); $.ajax({ type: 'POST', url: 'ad.php', dataType: 'json', data: data, beforeSend: function(data){ form.find('input[type="submit"]').attr('disabled', 'disabled'); }, success: function(data){ if(data['error']){ alert(data['error']); }else{ $('#content').html(data['content']); $('#title').html(data['title']); } }, error: function (xhr, ajaxOptions, thrownError){ alert(xhr.status); alert(thrownError); }, complete: function(data){ form.find('input[type="submit"]').prop('disabled', false); } }); } return false; }); |
Кстати ..не подскажете как вывести массив аяксом..типа как пхп foreach?
|
Часовой пояс GMT +3, время: 20:30. |