我想编写一个jquery插件,它可以使用iframe提交表单并返回iframe的内容作为回调函数的参数。但是onload事件不会返回任何值。我是初学者。你能帮我吗?
答案 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);
}