Выполните JavaScript при отправке формы - PullRequest
0 голосов
/ 22 марта 2012

Я использую JavaScript для загрузки новых страниц на мою страницу.выглядит следующим образом:

function loadpage(page,div) {
            $.get(page, function(data) {
                $(div).html(data)
            });
        };

Поэтому, когда я отправляю свою форму, я хочу использовать эту функцию для загрузки php-страницы, которую вы обычно устанавливаете в качестве атрибута "action" в теге формы.Итак, как мне получить форму POST или GET (не имеет значения) все ее содержимое и использовать функцию.

Теперь, когда я пишу:

<form action="javascript:loadpage('bla.php','#content');" method="post">
...
</form>

, она загружает бла.php так, как я хочу, но данные не передаются через POST ...

Есть ли решение этой проблемы?Заранее большое спасибо.

Ответы [ 2 ]

2 голосов
/ 22 марта 2012

см. form.onsubmit событие

1 голос
/ 22 марта 2012

Используя ваш метод, вы сделаете это следующим образом:

Javascript:

function loadpage(page, div, form) {
    var GETdata = '';

    if ( form ) GETdata = $(form).serialize();

    $.get(page, GETdata, function(data) {
        $(div).html(data)
    });
};

HTML:

<form action="javascript:loadpage('bla.php','#content', this);" method="post">
...
</form>

Лучшим способом было бы использовать ненавязчивый Javascript. Удалить встроенный JavaScript:

<form id="theForm" action="" method="post">
...
</form>

и свяжите ваш обработчик событий из кода Javascript:

$('#theForm').submit(function(e){
    e.preventDefault();
    loadpage('bla.php','#content', this);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...