フォームを iframe に複製してからフォームを送信する jQuery プラグインを作成しようとしています。ajax ファイルのアップロードを偽装するためのハックです。このようなプラグインが既にあることも知っていますが、私のニーズを満たすものはありません。jQuery オブジェクトを IE の何かに追加する際に問題があります。(IE 7.0 を実行しています) FF を試してみましたが、完全に動作します。jQuery 1.3.2分も使用しています。どんな助けでも大歓迎です。
(function($){
$.fn.extend({
//pass the options variable to the function
formUploader: function(options) {
//Set the default values, use comma to separate the settings, example:
var defaults = {
onSubmit: function(){ return true;},
onComplete: function(){ return true;}
}
var settings = $.extend(defaults, options);
return this.each(function() {
$(this).submit(function(){
var id = "asdfasda";
$(document).find('body').append('<iframe src="javascript:false;" name="' + id + '" id="' + id + '" />');
//this should be a form
var curEl = this;
setTimeout(function()
{
//fails in IE but not in FF
$("#"+id).contents().find("body").append($(curEl).clone());
},250);
return false;
});
});
}
});
})(jQuery);