2012-05-14 35 views
0

我有一個表單上傳一個圖片jQuery窗體。外翻是好的,但是當我想觸發文件輸入類型點擊選擇後一個文件,在IE ONLY返回此錯誤:access is deniedIE jQuery表單觸發器手動點擊,訪問被拒絕

$('#imageform #photoimg').trigger('click'); or setTimeout(function(){$('#imageform #photoimg').trigger('click')},1000); 
$('#photoimg').live('change',function() 
{ 
    //$("#preview").html(''); 
    //$("#preview").html('<img src="loader.gif" alt="Uploading...."/>'); 
    $("#imageform").ajaxForm(
     success: function(out) { 
      var imageur = out; 
      // do tiny work with out; 
     } 
    }).submit(); 
}); 

問題出在哪裏,我怎麼能解決這個問題?

+0

最後我發現這是一個「親愛的」 IE功能,(他們這種這項工作可以vuluntariable並阻止它,什麼是安全可靠的「親愛的」 IE瀏覽器。爲做好這項工作ü必須做trickly方法 – zhilevan

+0

這是一個針對IE9和IE10的解決方案。較低版本仍未被發現。http://stackoverflow.com/a/16788647 –

回答

1

默認情況下,IE不允許觸發文件元素更改。

如果你想你這個功能,可以使用ajaxuploaderfileuploader

var uploader = new qq.FileUploader({ 
    // pass the dom node (ex. $(selector)[0] for jQuery users) 
    element: document.getElementById('file-uploader'), 
    // path to server-side upload script 
    action: '/server/upload' 
}); 
0

我評論爲J query.form.js這些線然後每一件事工作正常,我。 不要問我的原因,即使我沒有解決方案,但它的工作是肯定的。

  if (io.contentWindow.document.execCommand) { 
       try { // #214 
        io.contentWindow.document.execCommand('Stop'); 
      } catch(ignore) {} 
      }