JQuery AJAX вопрос, это возможно? - PullRequest
4 голосов
/ 15 июля 2011

Я знаю, как отправить форму через ajax, используя функцию jQuery $ .ajax ().Мой вопрос заключается в том, что если форма находится на другой странице, и я загружаю саму форму через ajax:

$('.contentDiv').load('form.php');

Могу ли я отправить эту загруженную AJAX форму через AJAX?

В основном у меня естьработать в рамках рамок, которые используются.Фреймворк позволяет отображать только определенные формы и отправлять их по конкретным представлениям.Таким образом, форму, которую мне нужно показать на странице A, можно отобразить только на странице B и отправить только на странице B. Я могу загрузить форму на странице A через ajax, но если я напишу код для отправки формы через ajax в ее оригиналдействие (страница B) на странице A, будет ли оно работать?

Что, если я напишу код ajax на странице B и загрузлю код ajax и форму на странице A через ajax, это заставит его работать?

ОБНОВЛЕНИЕ

Хорошо, это сработало.Извините, если я сделал это более сложным, чем это было.По сути, я поместил код ajax для формы на страницу B и загрузил код формы и код ajax на страницу A с помощью функции load (), а когда я отправил форму, он должным образом обновил поля базы данных со страницы A.

Ответы [ 3 ]

1 голос
/ 15 июля 2011

Вам просто нужно связать действие отправки элемента формы, возвращаемого $ (). Load ().

$('.contentDiv').load('form.php', function() {
    $('form#newFormId').submit(function() {
        var data = $(this).serialize();

        $.ajax({
            url:  'submithandler.php',
            data: data,
            success: function(data) {
             //response was ok, do something
            }
        });
        return false;
    });
})

Если вам нужно вызвать действие отправки в форме, вы также можете сделать:

$('form#newFormId').submit();
0 голосов
/ 15 июля 2011

Это то, что у вас есть?

A.php:

    <html>
       <head>
          ... include your javascript files ...
       </head>
       <body>
          <div class="contentDiv"></div>
       </body>

       $(document).ready(function() {
          //some javascript stuff to make an ajax call 
          // to load form into contentDiv from source #1...
       });
    </html>

B.php

<html>
   <head>
      ... include your javascript files ...
   </head>
   <body>
   </body>

   $(document).ready(function() {
      //some javascript stuff to make an ajax call 
      // to load contents of page into body from **A.php**  ...
   });
</html>

Если так, то вы должны включить свой javascript иCSS на обеих страницах.Это может работать без него в некоторых браузерах, но другим браузерам (IE) это не понравится.

0 голосов
/ 15 июля 2011

Это простая загрузка и выполнение ниже:

<html>
    <head>
        <script language="javascript" src="jquery.js"></script>
        <script language="javascript">
            $(document).ready(function()
            {
                $('.content').load("form.php");
                $('#submit').live("click", function()
                {
                    $.ajax({url: 'form.php'});
                    return false;
                })
            });
        </script>
    </head>
    <body>
        <div class="content">
        </div>
    </body>
</html>

Но если вы также хотите загрузить javascript, вам нужно добавить заголовок раздела с загруженным javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...