0

一部のjqueryに問題があります。ChromeとFirefoxでは機能しますが、IEでは機能しません

コード

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js">
</script>
</head>

<body>

<form method='post' name='aform' action='test2.html'>
<input type='file' value='Upload Billede' name='image[fileupload]' /><input type='button' class='upload image[fileupload]' value='Upload Billede' />
</form>
<script type="text/javascript">
$(document).ready(function(){

bind_file_upload();    
});
function bind_file_upload()
{
    var target_id;
    $("[name='image[fileupload]']").change(function(event){
        $("[name='aform']").submit();
    });
    $(".upload").click(function(){
        $("[name='image[fileupload]']").click();
    });
}

</script>

</body>
</html>

問題は、参照ボタンを介してファイル コントロールを直接使用すると、ページが送信されますが、独自のアップロード ボタンを使用するとファイル ダイアログがトリガーされますが、ファイルを選択して [開く] を押すと jquery がアクセス許可を拒否されて失敗することです。

なんて私は間違っています。

前もって感謝します

4

2 に答える 2

4

あなたの問題は、ファイル入力のクリックをシミュレートすると、IE がフォームにセキュリティ上の脅威としてフラグを立て、送信しないことです。IE の場合、ユーザーがファイル入力を自分でクリックできるようにする必要があります。

編集

本当にファイル入力をカスタマイズしたい場合は、これを検討してください: http://www.quirksmode.org/dom/inputfile.html

または、必要に応じてカスタマイズできる flash/silverlight プラグインを使用することも、Internet Explorer の場合は ActiveX コントロールを使用することもできます。

于 2012-10-26T08:41:41.477 に答える