2010-06-27 93 views
0

所以我有一个函数可以通过asp.net导出一些数据异步并在页面上显示一个URL来下载导出的文件,它在Chrome中完美工作。但在IE浏览器中,它显示链接,但链接不可点击,它只是呈现为纯文本!jquery after()在Internet Explorer中创建url时无法正常工作

返回的数据Export.aspx包含导出文件的URL。 (记住它完美的镀铬)

function doExport(oper) { 
       var pass = prompt("Please enter the Admin password", "none"); 
       if (hex_md5(pass) == "592e19c40272fcc615079c346a18d140") { 
        $("#btnExportStat").attr('disabled', 'disabled'); 
        $("#btnExportView").attr('disabled', 'disabled'); 
        $("#btnAfter").after("<p id='loading'>Please wait...<img src='images/loading.gif' /></p>"); 
        jQuery.post("Export.aspx", { "type": oper }, function (data) { 
         $('#loading').remove(); 
         if (data.toString() == "error") { 
          $('#btnAfter').after("<b>There was an error</b>"); 
         } else { 
          var d = new Date(); 
          var curr_hour = d.getHours(); 
          var curr_min = d.getMinutes(); 
          var sec = d.getSeconds(); 
      ========>>>//$('#btnAfter').after("<a href='" + data + "'>" + "Click here to Download File(" + curr_hour + ":" + curr_min + ":" + sec + ")</p>"); 
          $("#btnExportStat").attr('disabled', ''); 
          $("#btnExportView").attr('disabled', ''); 
         } 
        }); 
       } else { 
       alert("Incorrect password"); 
       } 
      } 

回答

2

你开始<a></p>结束...

叫我老土,但我通常添加标记不同:

$('#btnAfter').after($("<a/>") 
    .attr('href', data) 
    .text("Click here to Download File(" + curr_hour + ":" + curr_min + ":" + sec + ")") 
); 

这是那么稍微难以做出这样的错别字。

+2

+1 Good catch Pointy!另外,不要忘记1.4表示法是另一种选择:'$(“”,{href:data,text:“Click ....”})' – 2010-06-27 13:14:34

+0

omg我很尴尬!我的天啊!我被这个痴呆症所困扰,我甚至都没有看到!所以要“修复”它,我只是添加了一条警告,请使用Google Chrome中的导出功能!哎呀! **用纸袋盖住头部** – gideon 2010-06-27 16:34:21

相关问题