我想創建一個將表單克隆到iframe然後提交表單的jQuery插件。假冒一個ajax文件上傳是個黑客攻擊。我也知道已經有這樣的插件了,但是沒有一個能滿足我的需求。我有一個問題追加到IE中的任何東西的jQuery對象。 (我正在運行IE 7.0)我已經嘗試過FF,它完美的工作。我也使用jQuery 1.3.2分鐘。任何幫助將不勝感激。追加一個jQuery對象在IE中拋出無效參數
(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);
你的頁面中是否有ID爲「asdfasda」的元素? – 2009-09-16 00:22:36
您確定的代碼行正在執行多項操作。如果您縮小哪個操作實際上引發錯誤,您可能會得到更好的幫助。 – 2009-09-16 00:39:52
我創建一個ID爲'asdfasda'的iFrame。在某個時候,它將成爲一個唯一的ID。我可以附加HTML但不是jQuery對象。例如:$(「#」+ id).contents()。find(「body」)。append(「
」)將工作但$(「#」+ id).contents()。find 「body」)。append($(「」))不會。附加的html不會複製文件輸入的值,這就是爲什麼我不能附加html,它必須被克隆。 I還簡化了我的代碼,使人們更容易幫助我,這就是爲什麼在一行上有多個操作,但我知道它的附加功能。 – 2009-09-16 01:04:29