4

表示なしのフォームと入力タイプのファイルがあり、ボタンも作りました。クリックすると、ダウンロードダイアログボックスが開きます。この組み合わせは、Opera を除くすべてのブラウザーで機能します。display: none; を削除すると動作し始めます。

<form id="imageform" method="post" enctype="multipart/form-data" action='' style="display: none;">
    <input type="file" name="photoimg" id="photoimg" />
</form>
<input type="button" id="upload" value="upload">

Jクエリ:

$('#upload').on("click", function () {
    $('#photoimg').click();
});

これを回避する方法を説明してください。

4

2 に答える 2

6

visibility: hidden代わりに使用すると良いでしょうdisplay:none

または、純粋な CSS で試すこともできます。例えば:

#photoimg {
   left: -99999px
}

また

#photoimg {
   z-index: -999
}

また

#photoimg {
   width: 0px
}

またはそのようなもの

于 2012-06-12T15:16:22.883 に答える
0

ファイル入力要素を作成する代わりに、次のようにdisplay: noneすることができます。

<div style="width:0;height:0;overflow:hidden;">
    <form id="imageform" method="post" enctype="multipart/form-data" action="">
        <input type="file" name="photoimg" id="photoimg" accept="image/*"
           onchange="document.getElementById('imageform').submit();" />
    </form>
</div>
<button id="upload" onclick="document.getElementById('photoimg').click();">
Upload</button>
于 2013-03-31T03:19:24.247 に答える