作って学べる
プログラミング講座
アプリを作りながら学習
自分のペースですぐに始められる
困ったら何回でも質問可能
リファレンス

<input type="file">の使い方・サンプルコード

Sara

<input type=”file”>

a href=”https://codeforfun.jp/reference-html-tag-input/”><input>要素の type 属性に file を指定すると、サーバーにアップロードするファイルを選択することができます。

この input 要素が属する form 要素の enctype 属性には multipart/form-data を指定する必要があります。

デモ:<input type=”file”>要素

属性

accept

アップロードできるファイルの種類を MIME タイプ や拡張子で指定します。

コンマで区切ることで複数のファイル型を指定することができます。

例① テキストファイルのみ許可する場合
<input type="file" name="image" accept="text/plain">
例② jpg と pdf を許可する場合
<input type="file" name="image" accept=".jpg,.pdf">
例③ 全ての形式の画像ファイルを許可する場合
<input type="file" name="image" accept="image/*">

autofocus

ページの読み込みが完了したときに、この属性を持った要素にフォーカスします。論理属性です。

フォーム内の一つの要素だけに指定できます。

HTML

<input type="file" name="image" autofocus>

実行結果

capture

スマートフォンなどでファイルを選択する時にカメラを起動します。accept 属性で画像か動画に関する値を指定する必要があります。

user内側のカメラが起動します。
environment
側のカメラが起動します。

disabled

ユーザーがファイルを選択できないようにします。論理属性です。

disabled を指定するとチェックボックスの色が薄くなり、ファイルのアップロードができなくなります。

HTML

<input type="file" name="image" disabled>

実行結果

form

関連付けたい form 要素の id を指定します。この属性を指定しない場合は、親要素に form 要素が存在すれば、その form 要素に関連付けられます。

form 属性を指定することで、form 要素の子要素に input 要素を置かなくても、同じ HTML 文書中にあるフォームに関連付けることができます。 

以下のサンプルでは、1行目の input 要素をフォームのデータとして送信することができます。

<input type="file" name="image" form="myForm">

<form id="myForm" method="post" enctype="multipart/form-data">
  <input type="text" name="name" placeholder="山田太郎">
  <input type="submit" value="登録">
</form>

multiple

複数のファイルを選択することができるようになります。論理属性です。

HTML

<input type="file" name="image" multiple>

実行結果

name

要素に名前を付けます。

<input type="file" name="image">

required

ファイルを選択必須項目にします。論理属性です。

ブラウザによって異なりますが、未選択のままフォーム送信ボタンを押すとエラーメッセージが表示されます。

HTML

<form enctype="multipart/form-data">
  <input type="file" name="image" required>
  <input type="submit" value="送信">
</form>

実行結果

tabindex

TABキーを押した時にフォーカスされる input 要素の順番を指定します。

以下のサンプルでは、name=”input1″ の要素にフォーカスした状態(文字を入力できる状態)でTABキーを押すと「input1 → input2 → input3 → image」の順番でフォーカスが動きます。

<form>
  <input type="text" name="input3" placeholder="3" tabindex="3">
  <input type="text" name="input2" placeholder="2" tabindex="2">
  <input type="text" name="input1" placeholder="1" tabindex="1">
  <input type="file" name="image" tabindex="4">
</form>

value

value 属性には、選択したファイルのパスが C:\fakepath\ファイル名.png という形で入ります。

グローバル属性

全ての HTML に共通して使用できるグローバル属性はこちら

使用例

HTML

<form method="post" accept="sample.php" enctype="multipart/form-data">
  <div>
    <input type="file" name="image" accept="image/*">
  </div>
  <input type="submit" value="送信">
</form>

実行結果

このサンプルでは、3行目の accept 属性に「画像ファイルのみ」を指定しているので、ファイル選択時は画像ファイルだけ選択できるようになります。

対応ブラウザ

関連するタグ

HTML タグ一覧はこちら

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
ABOUT ME
Sara
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
主な使用言語:Java / Kotlin / PHP
>> 詳しいプロフィールはこちら
>> 書籍を出版しました!
>> お問い合わせはこちら
本格的に学びたい方へ

Code for Fun プログラミング講座

Code for Fun プログラミング講座では、プログラミングの基礎からアプリ開発まで学ぶことができます。

わかりやすく・シンプルをモットーに

  • 同じコードを書けば必ず完成できること
  • 専門用語を使いすぎないこと

を重視しています。

POINT 01

動くコード

プログラミングの文法だけを学んでも、そこから動くアプリを開発をするのは難しいです。

Code for Fun のプログラミング講座では、ゲームやカレンダーなど「アプリとして機能するもの」を作りながらプログラミングを学ぶことができます。

POINT 02

自分のペースで

オンライン講座なので、ご自身のペースで学習を進めて頂けます。

分からないことがあっても、前のレッスンに戻ることができるので安心です。

お申し込みしたその日からからすぐに始めることができます。

POINT 03

個別サポート

プログラミング学習では、エラーが起きることはよくあります。そんな時はお気軽にお問い合わせください!

コメント欄またはメールによるサポートを回数無制限でご利用頂けます。(*講座に関連するご質問のみ対応)

今すぐ無料でお試し

0
この記事にコメントするx
記事URLをコピーしました