入力ファイルを次のように設計します。
<input type="file" name="file" id="file" size="52" />
「参照」ボタンの文字と色を変更したい。手伝って頂けますか?皆さんありがとう。
外観と機能は問題ありませんが、これは実際に期待されるものではありません。これはあなたの助けになると思います。
<input type="text" id="fileName" readonly="readonly" >
<div class="file_input_div" style="display: inline;">
<input type="button" id="button" value="Open"/>
<input type="file" style="opacity:0; position:relative; left:-40px;" onchange="javascript: document.getElementById ('fileName') . value = this.value"/>
</div>
CSS
#button{
position: relative;
left:-1px;
background-color:#446655;
}
これはブラウザのアーキテクチャとOSに依存する機能であり、変更することはできません。
ただし、この上に他の要素をオーバーレイして、デフォルトの外観を非表示にすることができます。また、これを行ういくつかのプラグインを使用することもできます。
jQuery File Uploadは、それを実行できるそのようなプラグインの1つです。
デモ: http: //blueimp.github.com/jQuery-File-Upload/
ブラウザのアーキテクチャに依存します。あなたはそれについて多くをすることはできません。
まだstackoverflowでこれについていくつかの議論があります
これをチェックする必要があります
<input type ="file"/>のボタンテキストを変更する方法をご覧ください。
お役に立てれば
PS:次回から、重複した質問を投稿していないことを確認してください
これを試してください: https ://codepen.io/claviska/pen/vAgmd
<div class="input-group">
<label class="input-group-btn">
<span class="btn btn-primary">
Browse… <input type="file" style="display: none;" multiple>
</span>
</label>
<input type="text" class="form-control" readonly>
</div>
$(function() {
$(document).on('change', ':file', function() {
var input = $(this),
numFiles = input.get(0).files ? input.get(0).files.length : 1,
label = input.val().replace(/\\/g, '/').replace(/.*\//, '');
input.trigger('fileselect', [numFiles, label]);
});
// We can watch for our custom `fileselect` event like this
$(document).ready( function() {
$(':file').on('fileselect', function(event, numFiles, label) {
var input = $(this).parents('.input-group').find(':text'),
log = numFiles > 1 ? numFiles + ' files selected' : label;
if( input.length ) {
input.val(log);
} else {
if( log ) alert(log);
}
});
});
});
ここで見つけることができます:
http
://www.quirksmode.org/dom/inputfile.html
投稿が長すぎてここにコピーできません。
基本的に、input[type=text]
(ユーザーに表示される)スタイリストを作成し、のinput[type=file] opacity = 0
上にを配置しinput[type=text]
ます。
これがお役に立てば幸いです。
Webkitブラウザーの場合のみ、CSS
属性を使用-webkit-appearance
してデフォルトのスタイルをクリアし、最初からスタイリストを開始できます。