0

iframe を使用してフォームを送信し、iframe の内容をコールバック関数の引数として返すことができる jquery プラグインを作成したいと考えています。しかし、onload イベントは値を返しません。私は初心者です。手伝ってくれますか?

4

1 に答える 1

0

おすすめ

iFrame 内でフォームを送信する必要があると私が想像できる唯一の状況は、AJAX アップロードを行いたい場合です。それがあなたの状況である場合は、これを非常にエレガントに実装するこのプラグインを見ることができます (そして、彼らは iFrame を使用します)。ファイルのアップロードを送信します)

ただし、フォームを送信して結果のデータを取得し、同じページに留まりたいだけの場合は、iframe を使用せずに$.post()を使用することをお勧めします。

例:

$.post('ajax/test.html', form.serializeArray(), function(data) { // Callback function
    $('.result').html(data); // Do what you want with data
}, 'html'); // Retrieve HTML, json etc

それでも必要な場合

それでも iframe を使用する必要がある場合は、upload.js プラグインの関連コードを以下に示します。

     form.submit(function() { // form would be the form element in the iframe
        iframe.load(function() {
            var data = handleData(this);
                // data will be the resulting content
        });
     }).submit(); // submit form after applying listeners

そしてそれらのhandleData()機能を変更します:

function handleData(iframe) {
            return $(iframe).contents().get(0);
}
于 2012-11-04T08:57:20.143 に答える