0

我想编写一个 jquery 插件,它可以使用 iframe 提交表单并将 iframe 的内容作为回调函数的参数返回。但是 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 回答