我正在尝试为带有 ajax 的网站创建图片上传器,但它在 IE 中不起作用(任何版本)
我有一个按钮设置,调用输入:触发器上的文件。然后输入:文件,如果不为空,会将表单发送到 iframe
表单被隐藏(因为它很难看(:)
问题是这样的:当我直接按下输入时,它可以工作#1,但是当我按下按钮时,它并没有一直走
当我使用按钮运行它时,它不会比 $('#upload_target').load() 行更进一步。
这是代码
HTML
<button id="addheader" type="button" class="btn btn-success span2">Add</button>
<button type="button" class="btn btn-danger span2" onclick="removeAllHeader()">Remove all</button>
<form id="formheader" class="" method="POST" action="<?php echo base_url(); ?>ajax_admin/addHeader" enctype="multipart/form-data" target="upload_target">
<input type="file" id="uploaded_file" name="uploaded_file"/>
<input type="submit" value="Upload" />
</form>
<iframe id="upload_target" class="hidden" name="upload_target" hidden></iframe>
JAVASCRIPT
function addHeader(){
$("#addheader").click(function(){
$("#uploaded_file").trigger('click');
});
$("#formheader input:file").change(function (){
if($("#formheader input:file").val() != ""){
$("#formheader input:submit").trigger('click');
}
});
$('#formheader').submit(function(){
$('#upload_target').load( function(){
var imgid = $('#upload_target').contents().find('#fileid').html();
var imgname = $('#upload_target').contents().find('#filename').html();
var imgdate = $('#upload_target').contents().find('#filedate').html();
if (imgname){
$(".list-pictures").append('<tr class="header-row" id="header-num'+imgid+'"> \
<td class="span3"><img width="200" height="50" alt="'+imgname+'" src="'+$("#base_url").text()+'tools/media/header/'+imgname+'" class="img-polaroid image-header"></td> \
<td class="span3"><p>'+imgdate+'</p></td> \
<td class="span1"> <button type="button" class="btn btn-danger" onclick="removeHeader(this,'+imgid+')">Remove</button></td> \
</tr> \
')
$('#upload_target').contents().find('#filename').remove();
}
});
});
}