トップページ  > ウェブ制作チュートリアル  > フォーム入力ページの作成
第19章 フォーム入力画面を作成する

★フォーム入力ページの作成

フォーム入力ページの作成

広告

フォームはHTMLのform要素で作成します。 フォームの部品となる入力欄や送信ボタンは、input要素やtextarea要素で作成します。

前回作成したcontact_jisaku.htmlに、以下の記述を追加してください。

HTMLソース(contact_jisaku.html)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="base.css">
<title>お問合せ|ウェブサンプル株式会社</title>
</head>
<body>
<div id="pagebody">

	<!-- ヘッダ -->
	<div id="header">
	<h1><a href="index.html"><img src="images/logo.png" alt="ウェブサンプル株式会社"></a></h1>
	</div>
	
	<!-- メインメニュー -->
	<ul id="menu">
	<li><a href="index.html">ホーム</a></li>
	<li><a href="product.html">製品紹介</a></li>
	<li><a href="profile.html">会社概要</a></li>
	<li><a href="contact.html">お問合せ</a></li>
	</ul>

	<!-- ヘッダ画像 -->
	<div id="img_subpage">
	<img src="./images/img_contact.png" alt="お問合せ">
	</div>

	<!-- サブメニュー(左カラム) -->
	<div id="submenu">
		<h2>お問合せ</h2>
		<ul>
			<li><a href="#info0001">フォームからのお問合せ</a></li>
			<li><a href="#info0002">メールでのお問合せ</a></li>
			<li><a href="#info0003">お電話でのお問合せ</a></li>
		</ul>
	</div>

	<!-- インフォメーション(右カラム) -->
	<div id="info">
		<h3 id="info0001">フォームからのお問合せ</h3>
		<form method="post" action="xxxxxxxx.php" id="form1" name="form1">
		<table class="profile">
		<tr>
		<th>お問合せ区分</th>
		<td>
			<input type="radio" name="sort" value="1">商品に関するお問合せ<br>
			<input type="radio" name="sort" value="2">採用に関するお問合せ<br>
			<input type="radio" name="sort" value="99">その他のお問合せ
		</td>
		</tr>
		<tr>
		<th>メールアドレス</th>
		<td><input type="email" size="30" name="mail" id="mail"></td>
		</tr>
		<tr>
		<th>お名前</th>
		<td><input type="text" size="20" name="namae" id="namae"></td>
		</tr>
		<tr>
		<th>お問合せの内容</th>
		<td><textarea name="naiyou" cols="40" rows="5"></textarea></td>
		</tr>
		</table>
		<input type="hidden" name="q" value="1">
		<p><input type="submit" value="送信する"></p>
		</form>
		<hr>

		<h3 id="info0002">メールでのお問合せ</h3>
		<hr>

		<h3 id="info0003">お電話でのお問合せ</h3>
		<hr>
	</div>

	<!-- フッタ -->
	<div id="footer"><small>Copyright (c) ウェブサンプル株式会社 All Rights Reserved.</small></div>

</div>
</body>
</html>

保存をしたらブラウザで表示してみましょう。 入力欄や送信ボタンが表示されれば成功です。

この時点では、入力されたフォームデータの送信をすることはできますが、フォームデータの受信先として指定しているxxxxxxxx.phpというURLが存在していないので、メールの送信はできません。

メール送信フォームをすべて自作する場合には、このxxxxxxxx.phpにあたるファイルをウェブサーバー側に用意しておく必要があります。 そのファイル内にメール送信プログラムを記述しておくことでメール送信が可能となります。

今回追加したHTMLソースを確認

今回追加したHTMLソースの内容を確認しておきましょう。

input要素のtype属性

上記のHTMLソースで追加した内容には、input要素が多く使われています。 input要素はデータを入力するための要素ですが、type属性に指定する値により種類が変化します。

今回のサンプルサイトで使用したのは、type="radio"、type="email"、type="text"、type="hidden"、type="submit"の5種類です。 それぞれラジオボタン、メールアドレス入力欄、テキスト入力欄、隠しデータ、送信ボタンになります。

textarea要素

複数行のテキスト入力欄となるテキストエリアは、textarea要素で作成します。 上記のHTMLソースでは、textarea要素にcols属性 とrows属性を指定していますが、これは入力されるテキスト量の目安を指定しています。

cols="40" rows="5"というのは、「横一行にだいたい40文字くらい、縦にだいたい5行くらい」という意味です。 これを超える量のテキストが入力できないということではなく、大体そのくらいのサイズの入力欄が作成されるということです。 それを超える量のテキストを入力する際には、ユーザー操作で入力欄をリサイズして拡げたり、スクロールバーを利用して調整できるようになります。

form要素

<form> ~ </form> で、ひとつのフォームとなります。 form要素の子要素には、input要素やtextarea要素などのフォーム部品を配置します。

送信ボタンを押すと、入力された内容がform要素のaction属性で指定したアドレスへ送信されます。

method属性ではpostという値を指定していますが、これはデータの送信形式を表しています。 method属性の値にはpostの他にもgetなどが指定できますが、フォームメールなどで比較的長いテキスト内容を送信する場合にはmethod="post"を使用するのが一般的です。

method="get"は、例えば、ページ番号や検索キーワードなどの比較的短めの値を送信する際に用いられることの多い送信形式です。

テーブルでフォームの入力項目を整理

上記のHTMLソースでは、テーブルでラベルと入力欄をセル分けして、フォームの入力項目を整理しています。 「お問合せ区分」「メールアドレス」「お名前」「お問合せの内容」などのラベルの部分は<th> ~ </th>で囲み、 入力欄の部分は<td> ~ </td>で囲むことで、セル分けしながらラベルと入力欄を関連付けています。

ここで使用したtable要素は、フォームの入力項目を整理するためのもので、あっても無くてもフォームの機能には影響しません。 フォームの入力部品をテーブルでセル分けして整理するのは、フォーム制作において利用されることの多い手法です。

input要素のtype属性の値

input要素のtype属性の値には、他にも以下のものがあります。 この時点ですべてを覚える必要はありません。 必要に応じて、その都度覚えていけば良いでしょう。

まとめ
  1. フォームはHTMLのform要素で作成する
  2. フォームの部品となる入力欄や送信ボタンは、input要素やtextarea要素で作成する
  3. input要素は、type属性に指定する値により種類が変化する
<前へ 目次へ 次へ>
広告
Sponsors
広告
MuuMuu Domain!
ドメイン取るならお名前.com
現役エンジニアのオンライン家庭教師【CodeCamp】
サイトに広告を掲載してお小遣いが稼げる!【A8.net】
Node.jsコース
はじめてのプログラミングコース
▲ページ先頭へ
HTMLクイックリファレンスについて
© HTMQ