如何从jquery插件返回iframe内容?

时间:2012-11-04 07:14:55

标签: jquery forms iframe plugins

我想编写一个jquery插件,它可以使用iframe提交表单并返回iframe的内容作为回调函数的参数。但是onload事件不会返回任何值。我是初学者。你能帮我吗?

1 个答案:

答案 0 :(得分:0)

建议

我可以想象你需要在iFrame中提交表单的唯一情况是,如果你想要进行AJAX上传,如果这是你的情况,你可以看看this plugin,它实现了这个非常优雅(他们使用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);
}