ホームページ > 記事 > ウェブフロントエンド > ブートストラップでファイルセレクターの表示を変更するにはどうすればよいですか?
ブートストラップ ファイル入力: ファイル セレクター表示の変更
ブートストラップ 4 のファイル ブラウザーを使用すると、デフォルトの「選択」が表示されるという問題が発生する場合があります。ファイル...」のテキスト。このテキストは、.custom-file-control 要素の CSS を使用して設定されますが、JavaScript を使用して変更するのは難しい場合があります。
Bootstrap 5
Bootstrap 5 では、カスタムファイル入力が削除されました。したがって、ファイル セレクターの表示を変更するには、カスタム CSS または JavaScript テクニックが必要です。
Bootstrap 4.4
Bootstrap 4.4 で選択したファイル名を表示するには、JavaScript を使用できます。
<code class="javascript">document.querySelector('.custom-file-input').addEventListener('change',function(e){ var fileName = document.getElementById("myInput").files[0].name; var nextSibling = e.target.nextElementSibling; nextSibling.innerText = fileName; });</code>
Bootstrap 4.1
Bootstrap 4.1 以降では、「Choose file...」プレースホルダーが .custom-file-label 要素に設定されます。
<code class="html"><label class="custom-file-label" for="exampleInputFile"> Select file... </label></code>
ボタンのテキストの変更は CSS で行うことができます:
<code class="css">.custom-file-input ~ .custom-file-label::after { content: "Button Text"; }</code>
元の回答 (Bootstrap 4 Alpha 6)
最初のプレースホルダーを変更するには
<code class="css">#customFile .custom-file-control:lang(en)::after { content: "Select file..."; } #customFile .custom-file-control:lang(en)::before { content: "Click me"; }</code>
選択したファイル名を取得して表示を更新するには、JavaScript を使用できます。
<code class="javascript">$('.custom-file-input').on('change',function(){ var fileName = $(this).val(); });</code>
ただし、プレースホルダー テキストは擬似要素であるため、JavaScript で直接変更することはできません。回避策は、疑似コンテンツを非表示にする CSS クラスを追加し、ファイル名を .form-control-file スパン:
<code class="css">.custom-file-control.selected:lang(en)::after { content: "" !important; }</code>
<code class="javascript">$('.custom-file-input').on('change',function(){ var fileName = $(this).val(); $(this).next('.form-control-file').addClass("selected").html(fileName); });</code>に配置することです。
以上がブートストラップでファイルセレクターの表示を変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。