HTMLのenctype属性とは?フォームデータのエンコード形式をわかりやすく解説
HTMLのenctype属性は、フォームから送信されるデータのエンコード形式(MIMEタイプ)を指定するための属性です。この属性は、method="post" を指定した場合にのみ有効となり、GETメソッドでは機能しません。
enctype属性には、主に以下の3つの値を指定できます。
enctype属性に指定できる値
| 値 | 説明 |
|---|---|
| application/x-www-form-urlencoded | デフォルト値。すべての文字が送信前にエンコードされます(スペースは「+」記号に変換され、特殊文字はASCII HEX値に変換されます)。 |
| multipart/form-data | 文字をエンコードしません。ファイルアップロード用のコントロール(<input type="file">など)を含むフォームでは、必ずこの値を指定する必要があります。 |
| text/plain | スペースは「+」記号に変換されますが、特殊文字はエンコードされません。主にデバッグ用途で使われます。 |
サンプルコード
それでは、HTMLのenctype属性を使った具体的な例を見てみましょう。ここでは multipart/form-data を指定したフォームを作成しています。
<!DOCTYPE html>
<html>
<head>
<title>HTML enctype attribute</title>
<style>
form {
width:70%;
margin: 0 auto;
text-align: center;
}
* {
padding: 2px;
margin:5px;
}
input[type="button"] {
border-radius: 10px;
}
</style>
</head>
<body>
<form enctype="multipart/form-data" action="" method="post">
<fieldset>
<legend>HTML-enctype-attribute</legend>
<label for="EmailSelect">Email Id:
<input type="email" id="EmailSelect">
<input type="button" onclick="getUserEmail('david')" value="David">
<input type="button" onclick="getUserEmail('shasha')" value="Shasha"><br>
<input type="button" onclick="login()" value="Login">
</label>
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
var divDisplay = document.getElementById("divDisplay");
var inputEmail = document.getElementById("EmailSelect");
function getUserEmail(userName) {
if(userName === 'david')
inputEmail.value = 'davidMiller@MNC.com';
else
inputEmail.value = 'shashaGreen@MNC.com';
}
function login() {
if(inputEmail.value !== '')
divDisplay.textContent = 'Successful Login. Hello '+inputEmail.value.split("@")[0];
else
divDisplay.textContent = 'Enter Email Id';
}
</script>
</body>
</html>実行結果
上記のコードを実行すると、次のような出力が得られます。
1)メールアドレス欄が空のまま「Login」ボタンをクリックした場合:

画面には「Enter Email Id(メールアドレスを入力してください)」というメッセージが表示されます。
2)メールアドレスを入力してから「Login」ボタンをクリックした場合:

入力されたメールアドレスのユーザー名部分が抽出され、「Successful Login. Hello ユーザー名」というメッセージが表示されます。
まとめ
enctype属性は、フォームデータの送信方法を制御する重要な属性です。通常のテキストデータの送信であればデフォルトの application/x-www-form-urlencoded で問題ありませんが、ファイルをアップロードする場合は必ず multipart/form-data を指定することを忘れないようにしましょう。
-
HTMLのrowspan属性とは?テーブルセルの行結合の使い方を解説
HTMLのrowspan属性は、表(テーブル)のセルが縦方向にまたぐ行数を指定するための属性です。この属性を使用することで、複数の行にまたがるセルを作成でき、より柔軟なテーブルレイアウトを実現できます。rowspan属性を適用できるのは、td要素またはth要素のみです。それ以外のHTML要素には使用できない点に注意しましょう。rowspan属性の構文rowspan属性の基本的な構文は以下のとおりです。<タグ名 rowspan=数値></タグ名>「数値」には、セルがまたぐ行数を整数で指定します。たとえば「rowspan=2」と指定すると、そのセルは2行分の高さを持つことに
-
HTMLのtabindex属性とは?タブ移動の順序を制御する方法を解説
HTMLのtabindex属性は、HTMLドキュメント内の要素がTabキーでフォーカスされる順序(タブ移動の順番)を定義するための属性です。tabindexはグローバル属性に分類されるため、すべてのHTML要素に対して使用することができます。通常、Tabキーを押すと要素はHTMLの記述順にフォーカスされますが、tabindex属性を指定することで、この順序を自由にコントロールできます。値には整数を指定し、数値が小さいものから順にフォーカスされます。tabindex属性の値について正の数(1以上):指定した数値の順序でタブ移動が行われます0:HTMLの記述順にフォーカスされます(デフォルトの挙動