Запуск действия по умолчанию в обработчиках событий jQuery ПЕРЕД дальнейшей обработкой - PullRequest
0 голосов
/ 28 января 2011

Я реализую обходной путь для проблемы «невозможно загрузить файлы с помощью AJAX» (короче говоря, форма нацелена на iframe, и я хочу, чтобы jQuery затем захватывал содержимое iframe и обрабатывал его).

На данный момент у меня есть обработчик отправки, который вызывается при отправке любой формы.Он определяет, есть ли в форме поле для загрузки файла, и если он есть, он связывает себя и вызывает submit ().К сожалению, submit () на самом деле не запускается, пока ПОСЛЕ пользовательского обработчика не вернет false'd.Таким образом:

$('form').livequery('submit.custom', function() {

    if ($(this).has('input[type=file]').length != 0) {

        $(this).unbind('submit.custom');

        $('body').append('<div id="file_iframe"></div>');
        $('#file_iframe').append('<iframe name="postframe" id="postframe" class="hidden" src="" />');

        $(this).attr("target", "postframe");

        $(this).submit(); // <-- Doesn't trigger until after 'return false;'

    }

    return false;

});

Это означает, что я не могу обработать данные в iframe.Вместо этого я думал о связывании нового пользовательского обработчика в текущем пользовательском обработчике (еще не запутался?), Который затем (предположительно) был бы тем, что было запущено после того, как текущий обработчик возвращает false - но мне понадобится этот новый обработчик для запуска значения по умолчаниюотправить действие до того, как продолжить процесс.Есть ли способ сделать это или как-то иначе обойти проблему, о которой вы можете подумать?

$('form').submit(function() {

    // Do something to trigger default action, ie actually post the form

    // Then do some other bits and pieces

});

Буду благодарен за любую помощь!

1 Ответ

0 голосов
/ 28 января 2011

Я рекомендую использовать это вместо того, чтобы мучить себя (через это)

http://www.uploadify.com/demos/

, так как он также позволяет загружать несколько файлов и отправлять отзывы.

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