0

jquery/javascript アプリケーションを作成しています。私が必要としているものの一部は、Firefox、Chrome、および (うーん) IE で同じように見える必要があるファイル入力です。私が行ったことは、ファイル入力を非表示にし、その上にテキスト ボックスを配置することです。次に、jquery .click を使用して、テキスト ボックスのクリックがファイル入力のクリックと同じ効果を持つようにし、.change を使用して、ファイル入力の内容がテキスト ボックスに表示されるようにします。Firefox と Chrome では正常に動作しますが、Microsoft の恐ろしく恐ろしい人々が私の一日を台無しにしようとしています。

誰かが解決策を持っているなら、私はとても感謝しています。前もって感謝します!

<input type="text" id="fakefile">
<input type="file" id="realfile">

$(document).ready(function(){
    $('#fakefile').click(function(){
        $('#realfile').click();
    });
    $('#realfile').change(function(){
        $('#fakefile').val($('#realfile').val());
    });
});
4

2 に答える 2

0

ハッキングを行ってファイル入力にラベルを追加し、入力ではなくラベルのクリックをトリガーすることはできませんが、フォームを送信しようとするとすぐにIEで失敗します。

私が問題を解決した方法は、ファイル入力の不透明度を 0 にして、ユーザーがクリックしていると思わせるスタイル要素の上に絶対に配置することでした。このようにして、スタイル設定された要素をクリックしているように見えても、実際にはファイル入力をクリックしています。

于 2013-05-03T14:53:08.650 に答える