1

別のボタンから input[type=file] をトリガーしてファイルをアップロードする必要があるという要件があります。このinput[type=file]は、ユーザーがアップロードしたいファイルを閲覧するためのポップアップウィンドウです。このウィンドウは正常に開きますが、ファイルをアップロードすると、SCRIPT5: Access is Denied error. 偽のボタンをinput [type = file]に置き換えることはできません。キーボードのクリックからではなくても、input [type = file]のクリックをトリガーしてファイルをアップロードする方法はありますか。私の調査によると、キーボードのクリックで input-type=file をトリガーしない限り、IE はファイルのアップロードを許可しません。

var uploadConfig ={
    init: function(){
        $('input#fileUpld_input').livequery("click",function() {
        });
    },
    open: function() {
        $('input#fileUpld_input').trigger('click');
    },
    upload: function(){
        $('.start').click();
    }

ブラウザ

<input type="file" id="fileUpld_input" name="fileUpld_input" class="fileUpld">
4

2 に答える 2

5

私のために働いた他の回答に示されているコードを使用してください: working JSFiddle

<input type="file" id="fileUpld_input" name="fileUpld_input" class="fileUpld">

私は同じ問題を抱えていましたが、コードではなく IE に問題があると判断しました。私のコードでエラーを整理しようとしてあまりにも多くの時間を費やした後; ラップトップを起動しましたが、複製できませんでした。最終的に、IE を再起動して再起動すると問題が解決しました。

于 2012-11-12T06:21:28.497 に答える
0

キーボードのクリックからではなくても、input [type = file]のクリックをトリガーできる方法はありますか。

これを試してください:http://jsfiddle.net/RASG/FkdCm/

HTML

<input type="file" id="fileUpld_input" name="fileUpld_input" class="fileUpld">

<br>
<br>
<br>

<button id="theotherbutton">try me</button>

JS

$('#theotherbutton').click(function() { $('#fileUpld_input').click() })

IE 9 および FF 16 でテスト済み

于 2012-09-23T23:04:24.803 に答える