0

我正在尝试为带有 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();

      }
    });
});

}
4

0 回答 0