アフィリエイト広告を利用しています

2018年03月13日

「選択されていません」を消す

<input type="file" id="filename">
を使用するとChrome、Edgeではファイル選択前に

chrome_upload.png

となる。「選択されていません」を取り除きたい。

概略
@メッセージを消す。
Aファイル選択用ダイアログボックスを開くためのボタンを置く。
Bボタンの体裁を整える。
C選択したファイル名を表示する(前半)。
D選択したファイル名を表示する(後半)。


@メッセージを消す。
ファイル選択欄を非表示にして、メッセージも消します。
cssファイルに以下のように指定します。

 @media screen { #filename { display: none; } }

Aファイル選択用ダイアログボックスを開くためのボタンを置く。

<label for="filename" >
 <span class="browse_btn">Browse</span><input type="file" size="16" id="filename">
</label>

ポイントは label for="filename" です。
forにファイル選択欄のidを指定して、
そのidの機能がlabel内全体に及ぶようにしています。
label内をクリックすればファイル選択用ダイアログボックスが表示されます。

Bボタンの体裁を整える。
 cssファイルに以下のように指定する。

.browse_btn {
background-color: #d3d3d3;
padding: 6px;
border-radius: 8px;
font-weight: bold;
}

C選択したファイル名を表示する(前半)。
選択したファイル名を表示するためのテキストボックスをボタンの隣りに配置します。
このテキストボックスはファイル名を表示するためだけに表示します。

<input id="dummy_file" type="text" >
<label for="filename" >
 <span class="browse_btn">Browse</span><input type="file" size="16" id="filename">
</label>


D選択したファイル名を表示する(後半)。
Javascript、jQueryで選択したファイル名をテキストボックスの値とします。


$('#filename').on("change", function() {
var file = this.files[0];
if(file != null) {
document.getElementById("dummy_file").value = file.name;
}
});


chrome_upload2.png


まとめ
css

@media screen { #filename { display: none; } }
.browse_btn {
background-color: #d3d3d3;
padding: 6px;
border-radius: 8px;
font-weight: bold;
}


html

<script src="js/jquery-1.9.1.js" type="text/javascript"></script>




<input id="dummy_file" type="text" >
<label for="filename" >
 <span class="browse_btn">Browse</span><input type="file" id="filename">
</label>


Javascript

<script type="text/javascript">
$(document).ready(function(){
$('#filename').on("change", function() {
var file = this.files[0];
if(file != null) {
document.getElementById("dummy_file").value = file.name;
}
});
if (document.form1.filename.value == "") {
document.getElementById("dummy_file").value = "";
}
});
</script>




posted by db-engineer at 00:00 | Comment(0) | HTML、CSS

この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

検索
最新記事
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド