🌝

🌜HTMLでフォヌム䜜成🌛

2022/11/28に公開

🌟フォヌム

form芁玠

<form action=“#” method=“POST”>
</form>

・action属性 どこにデヌタを送信するかを蚘述
・method属性 HTTPリク゚ストメ゜ッドの皮類を蚘述

🌟HTTPリク゚ストメ゜ッドずは
ブラりザからサヌバヌに察しお䟝頌する凊理の皮類

利甚頻床が高い
🌱GET 
サヌバヌからデヌタを取埗したいずき
䟋Webペヌゞを取埗衚瀺、画像を取埗(ブログの曎新情報を取埗)RSSフィヌドの取埗

🌱POST
サヌバぞデヌタを送信したいずき
䟋ログむンフォヌム、ECサむトでの商品泚文フォヌム、アンケヌトを送信

🌟input芁玠
デヌタを入力するためのフォヌム郚品を䜜る芁玠

type属性を指定するこずで様々な入力フォヌムを䜜成可胜
䟋

<input type=“text”>

⚠終了タグを付けない、空芁玠

MDN form input で怜玢
フォヌムの<input>の型を参照
https://developer.mozilla.org/ja/docs/Web/HTML/Element/input

🌟お問合せフォヌムの制䜜

🌱お問合せフォヌム

 <form action="#" method="POST">
      <input type="text" name="username" placeholder="ナヌザヌネヌム">
      <input type="password" name="password" placeholder="パスワヌド">
      <input type="submit" value="ログむン">
    </form>

🌱プルダりンメニュヌ

  • 芪芁玠をselect芁玠に定矩
  • 遞択肢をoption芁玠で定矩
<dt>お䜏たいの地域</dt>
        <dd>
          <select name="area">
            <option value="" selected>遞択しおください</option>
            <option value="hokkaido">北海道</option>
            <option value="tohoku">東北</option>
            <option value="kanto">関東</option>
            <option value="chubu">䞭郚</option>
            <option value="kinki">近畿</option>
            <option value="shikoku">四囜</option>
            <option value="kyusyu">九州</option>
            <option value="okinawa">æ²–çž„</option>
          </select>

φ(
selected属性には倀がない
optionに蚭定するず遞択肢が初期状態で遞択される
⚠select芁玠内で個のoptionだけがselected属性をもおる

dd>select>option*9

🌱ラゞオボタン

性別入力郚分

<dt>性別</dt>
        <dd>
          <input type="radio" name="gender" value="male" checked>男性
          <input type="radio" name="gender" value="female">女性
        </dd>
        </dd>

φ(
checkedを぀けるず初期状態で遞択がされた状態になる

🌱テキスト゚リア

お問合せ内容郚分

<dt>お問合せ内容</dt>
        <dd><textarea name="contents"></textarea></dd>

φ(
終了タグは必芁
inputで統䞀したほうが矎しいずいう意芋もあるが珟状はこの仕様なので埓う必芁あり
name属性はデヌタをサヌバヌ偎が受け取ったずきに䜕のデヌタかを刀別するために぀けた名前

🌱チェックボックス

プラむバシヌポリシヌの同意するチェックをする機胜

<dt>プラむバシヌポリシヌに同意する</dt>
      <dd><input type="checkbox" name="privacy" value="1" ></dd>

φ(
チェックボックスを䜜るにはtypeにcheckboxを指定
checkedを぀けるず初期状態で遞択がされた状態になる

🌱送信ボタン

送信ボタンに぀いお
Submit=提出するずいう意味合い

dlタグの䞋に蚘述

<input type="submit" name="submit" value="送信">
  • valueはボタンのラベルのテキストを蚘茉
  • サヌバヌ偎のプログラムは甚意しおないので送信はされないが、
    実際はform芁玠のaction属性に指定したパスにデヌタが送信される

🌱ラベル

各フォヌム郚品が䜕の入力欄を瀺しおいるのかを説明するためのテキスト

ラベル芁玠

<dt><label for="username">お名前</label></dt>
        <dd><input id="username" type="text" name="username"></dd>

テキストをラベルで囲む
ラベルを぀けたい芁玠にidを振る
ラベルのfor属性にform郚品のidを指定

φ(
ラゞオボタンのラベルをどう蚘述するかに぀いおは耇数の方法がある
今回は 各フォヌム郚品をラベル芁玠で囲う
蚀い換えるずfor属性の代わりにinput芁玠をラベル芁玠で囲うこず

<dt>性別</dt>
        <dd>
          <label><input type="radio" name="gender" value="male" checked>男性</label>
          <label><input type="radio" name="gender" value="female">女性</label>
        </dd>
        </dd>

ラベルを蚘述する方法ずしお、、

  1. ラベルのfor属性を䜿う方法
  2. ラベル芁玠でform郚品を囲う
    通りの方法があるが、䜿いやすい方を䜿えばOK🙆🏻‍♀

🧚🏻ラベルを䜿うメリット

  • 文曞の意味付けがより正しくできる
  • チェックボックスやラゞオボタンで、ラベルの郚分テキストをクリックしおも、遞択できるようになる

🌱フォヌムバリデヌション

バリデヌションずは、、
入力された内容が芁件を満たしおいるか、劥圓性を確認するこず

🌌入力必須制玄を付ける

<form action="#" method="POST">
      <input type="text" required>
      <input type="submit" value="送信">
    </form>

φ(
required属性を぀けるず゚ラヌ衚瀺が出お次に進めないようにできる
はダミヌ

🌌文字数制限
文字たで入力を蚱可するが、文字以䞊は入力できないように蚭定

<form action="#" method="POST">
      <input type="text" required maxlength="5">
      <input type="submit" value="送信">
    </form>

⚠このクラむアント偎の、フォヌムバリ゚ヌションは、ナヌザヌが簡単に曞き換えられる
HTMLのフォヌムバリデヌションは、䞍正察策には䜿えない
👉フォヌムから送られおくる倀は信頌できない堎合がある点は芚えおおく

察策ずしおは、サヌバヌサむド偎のフォヌムからのデヌタを受け取るプログラム偎でも
倀の正圓性チェックを行う

📌クラむアント偎のフォヌムデヌタ怜蚌
https://developer.mozilla.org/ja/docs/Learn/Forms/Form_validation

HTMLステップアップ線終了
明日からはCSSの基本習埗ぞ〜
平日はいかに残業せずに家に垰っおこれるかの勝負
効率良く進めおいこう🔥🔥

Discussion