フォーム関連機能(3)
演習課題(1)解答例
- type属性は、InternetExploereが未対応ななため積極的に使う段階ではありません
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>HTML5でお問い合わせフォーム</title> <style> th { text-align: left; } span.red { color: #F00; } span.small { font-size: small; } </style> </head> <body> <header> <h1>お問い合わせフォーム</h1> </header> <section id="contact"> <p> 当サイトに関して、ご意見、ご感想などがございましたら、<br> こちらのフォームに必要事項をご入力の上、送信してください。 <br> 返信には数日かかることもございますことを予めご了承ください。<br> </p> <form action="#" method="post" id="inquiry"> <p class="attention"><span class="red">※</span>全て必須項目です。</p> <table> <tr> <th>お問い合わせタイトル:<span class="red">※</span></th> <td><input type="text" name="title" id="title" size="55" placeholder="〜について" autocomplete="on" autofocus="autofocus" required></td> <td><span class="small">[全角・半角混在可]</span></td> </tr> <tr> <th>お問い合わせ内容:<span class="red"><span class="red">※</span></th> <td><textarea name="question" id="question" cols="40" rows="4" placeholder="具体的に" required></textarea></td> <td><span class="small">[全角・半角混在可]</span></td> </tr> <tr> <th>お問い合わせへの回答方法:<span class="red">※</span></th> <td><input type="text" name="course" list="reply" placeholder="メール" required> <datalist id="reply"> <option value="メール">メール <option value="電話">電話 <option value="その他">その他 </datalist> </td> <td><span class="small">[全角・半角混在可]</span></td> </tr> <tr> <th>お名前:<span class="red">※</span></th> <td><input type="text" name="name" id="name" size="30" placeholder="山田太郎" autocomplete="on" required></td> <td><span class="small">[全角]</span></td> </tr> <tr> <th>フリガナ:<span class="red">※</span></th> <td><input type="text" name="furigana" id="furigana" size="30" placeholder="ヤマダタロウ" autocomplete="on" pattern="^[ア-ン゛゜ァ-ォャ-ョー]+$" required></td> <td><span class="small">[全角カタカナ]</span></td> </tr> <tr> <th>メールアドレス:<span class="red">※</span></th> <td><input type="email" class="textmiddle" name="email" size="55" placeholder="yamada@example.co.jp" autocomplete="on" required></td> <td><span class="small">[半角英数字]</span></td> </tr> <tr> <th>電話番号:</th> <td><input type="tel" class="textmiddle" name="tel" size="55" placeholder="03-1234-5678" autocomplete="on" pattern="^[0-9\-]+$" required></td> <td><span class="small">[数字・ハイフン]</span></td> </tr> </table> <p><input type="submit" value="送信"></p> </form> </section> </body> </html>
演習課題(2)
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>宿泊予約</title> <style> body { line-height: 2.0; } th { text-align: right; } span.red { color: #F00; } </style> </head> <body> <h1>宿泊予約</h1> <form action="#" method="post" id="inquiry"> <p class="attention"><span class="red">※</span>全て必須項目です。</p> <table> <tr> <th><span class="red">※</span>ID:</th><td><input type="text" name="userID" id="userID" size="20" autofocus required></td> </tr> <tr> <th><span class="red">※</span>料理:</th><td><input type="text" name="menu" id="menu" size="20" list="menuList" autocomplete="on" required><br> <datalist id="menuList"> <option value="海鮮丼">海鮮丼 <option value="海の幸と山の幸">海の幸と山の幸 <option value="海の幸づくし">海の幸づくし <option value="山の幸づくし">山の幸づくし <option value="高級あわび料理">高級あわび料理 <option value="高級寿司">高級寿司 <option value="うに丼">うに丼 <option value="うにいくら丼">うにいくら丼 <option value="季節料理">季節料理 <option value="季節の野菜料理">季節の野菜料理 <option value="季節の魚料理">季節の魚料理 </datalist> </td> </tr> <tr> <th><span class="red">※</span>予約日:</th><td><input type="date" id="resDay" name="resDay" required></td> </tr> <tr> <th><span class="red">※</span>予約時間:</th><td><input type="time" id="resTime" name="resTime" required></td> </tr> <tr> <th><span class="red">※</span>予約人数:</th><td><input type="number" id="resNumber" name="resNumber" min="1" max="20" required>(1-20人)</td> </tr> <tr> <th>部屋の色:</th><td><input type="color" id="roomColor" name="roomColor"></td> </tr> <tr> <th><span class="red">※</span>メール:</th><td><input type="email" id="mailAddress" name="mailAddress" required></td> </tr> <tr> <th>電話番号:</th><td><input type="tel" id="telephone" name="telephone"></td> </tr> <tr> <th>空き室状況:</th><td><meter min="0" max="50" value="41" low="25" high="40" optimum="0">41部屋予約されています</meter></td> </tr> </table> <p><input type="submit" value="送信"></p> </form> </body> </html>
meter要素
- 下限や上限などがあらかじめ分かっている、規定範囲内の測定値を示す際に使用します
- 測定値は、必須属性のvalue属性で指定します
- 下限と上限を指定しない場合には範囲が0〜1と見なされます。この場合、value属性で指定する値を0〜1の範囲内にする必要があります
- 測定値はmeterタグのvalue属性で指定しますが、meterタグをサポートしていないブラウザを使用しているユーザーにも分かるように、測定状況をテキストで記述することが推奨されています
- meterタグは、進行状況を示すのに使用するべきではありません。そのような目的には、progressタグを使用してください
- meter要素に対応しているブラウザでは、計測結果がゲージで表示されます