6

フォームには、jquery と css でスキニングされたファイル入力と送信ボタンがあります。

<form action="#" method="POST">
  <input style="width:150px" type="hidden" name="MAX_FILE_SIZE" value="40000"/>
  <div class="l-input-file">
    <input style="margin-bottom: 0px" type="file" id="myInput" name="myInput" size="16" />
  </div>
  <div><button type="submit" class="btn-black">Continuer</button></div>
</form>

http://jsfiddle.net/CsL9t/

ここの問題は IE10 でのみ表示されます。ファイルを選択した後、フォームを送信するには送信ボタンを 2 回クリックする必要があります。

ファイル入力が変更されたときにボタンにフォーカスを強制しようとしましたが、役に立ちません。

jQueryを使ってクリックをトリガーしてみましたが、

jQuery('#myInput').parents('form').find("button[type='submit']").click();

しかし、3回目を送信する前に、「アクセスが拒否されました」というメッセージを2回受け取りました。

ご意見やアドバイスをいただければ幸いです。ありがとう

4

1 に答える 1

5

$input.trigger('click');アクセス拒否エラーの原因です。ファイル入力でクリック イベントをトリガーすると、IE でファイル入力が汚染され、フォームの送信やFormDataオブジェクト
での使用が (ある程度)妨げられます。

IE8 でのアクセスが拒否されたというエラーも参照してください。

于 2013-09-05T21:27:28.903 に答える