パソコンQ&A

FORMタグのまとめ

[参考記事] フォームの基本
テキスト

<input type="text" name="form1" value="" />

文字を送るときに使います。
type属性を省略した場合もこれになります。
改行は使えないので、改行を含む場合にはテキストエリアを使う必要があります。

パスワード

<input type="password" name="form2" value="" />

パスワードを入力する時に使います。
入力した文字が『*(アスタリスク)』や『・(中黒)』などになります。
画面上に入力した文字が表示されないので、「ショルダーハック(キー入力や画面を盗み見る原始的なハッキング手法)」に効果があります。
ただ画面上は隠せても送られるデータは盗聴される可能性があるのでSSL暗号方式などを併用するといいでしょう。
ユーザー登録などでパスワード入力画面の次に確認画面がある場合、隠しデータとして値が継承されるフォームもありますが、あまりよくはないです。
一旦、『パスワード情報をデータベースに書き込んでそのIDを隠しデータとする』 または『テキストファイルに書き込んでファイル名を隠しデータとする』という手法がよいかと思います。
PHPのSessionは、2窓ができないのでオススメしません。

テキスト入力タグとは表示の大きさが違うので、デザインする際には注意が必要です。

ファイル

<input type="file" name="form3" value="" />

ファイルを送信する際に使います。
このフォームを使うときにはFORMタグにenctype="multipart/form-data"が必要です。

<form enctype="multipart/form-data" … >

FORMタグ内でのファイル容量制限は隠しデータにMAX_FILE_SIZEとして指定する方法もあります。
[参考記事] PHPでの使用例

<input type="hidden" name="MAX_FILE_SIZE" value="3000" />

ただしフォームは改ざんされる可能性もありますし、PHPのバージョンによっては対応していないので、 ちゃんとスクリプト内でも容量制限をして2重チェックはしたほうがいいです。
またMAX_FILE_SIZEの隠しデータは、ファイルフォームより前に書く必要があります。

まとめるとこんな感じです。

<form enctype="multipart/form-data" … >
<input type="hidden" name="MAX_FILE_SIZE" value="3000" />
<input type="file" name="form3" value="" />
………

………
</form>


チェックボックス

<input type="checkbox" name="form4" value="1" checked="checked" />
<input type="checkbox" name="form4_1" value="1" />

『はい・いいえ』を送信するときに使います。
文字をクリックしてもcheckboxタグが反応するようにするには、LABELタグを使います。

<input type="checkbox" name="form4" value="1" checked="checked" id="form40" /><label for="form40">チェックボックス1</label>
<input type="checkbox" name="form4_1" value="1" id="form41" /><label for="form41">チェックボックス2</label>


[参考記事] ユーザビリティを考えたフォーム
文字にマウスを合わせたときに指マークにするとより分かりやすいです。
下記がそのスタイルシート

label{
  cursor: pointer;
}


ラジオボタン

<input type="radio" name="form5" value="1" checked="checked" />
<input type="radio" name="form5" value="2" />


文字をクリックしてもcheckboxタグが反応するようにするには、LABELタグを使います。

<input type="radio" name="form5" value="1" checked="checked" id="form51" /><label for="form51">ラジオボタン2</label>
<input type="radio" name="form5" value="2" id="form52" /><label for="form52">ラジオボタン2</label>


隠しデータ

<input type="hidden" name="form6" value="" />


テキストエリア

<textarea name="form7"></textarea>


セレクト

<select name="form8">
  <option value="1">1</option>
  <option value="2" selected="selected">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>


<select name="form8_1">
  <optgroup label="1桁">
    <option value="1">1</option>
    <option value="2" selected="selected">2</option>
    <option value="3">3</option>
  </optgroup>
  <optgroup label="2桁">
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13">13</option>
  </optgroup>
</select>


セレクト2

<select name="form9" size="3">
  <option value="1">1</option>
  <option value="2" selected="selected">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>


マルチセレクト(複数選択)

<select multiple="multiple" name="form10">
  <option value="1">1</option>
  <option value="2" selected="selected">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>


送信ボタン

<input type="submit" name="form11" value="送信" />


リセットボタン

<input type="reset" name="form12" value="リセット" />


汎用ボタン

<input type="button" name="form13" value="ボタン" />


画像ボタン

<input type="image" src="img/px_red.gif" alt="ボタン" name="form16" value="ボタン" />


buttonタグ

<button name="form14" value="ボタン">ボタン<br />です</button>

WinIEMacIEその他
タグ表示内容なしvalue
WinIEでは、複数buttonタグがあった場合、全ての値が送られます。
JavaScriptを使わないと、どのボタンが押されたかの特定はできません。

<IMG height=10 alt=b src="画像名" width=10>

指マークがつくようにしたほうが分かりやすいです。

button{
  cursor: pointer;
}


個別に指定する場合は下記をタグ内に書きます。

style="cursor: pointer;"

<input type="submit" value="送信" style="cursor: pointer;" />


クラスで指定する場合は次のようになります。

.submit {
  cursor: pointer;
}


フォームタグ

<form name="form" method="post" action="">
</form>

<form enctype="multipart/form-data" name="form" method="post" action="">
</form>

検索キーワードタグ

<isindex prompt="検索キーワード" action="search.php" />

フォームグループタグ・グループタイトルタグ

お届け先 お名前:
ご住所:
送り元 お名前:
ご住所:

<fieldset>
<legend>お届け先</legend>
</fieldset>
<fieldset>
<legend>送り元</legend>
</fieldset>


フォームを送信した後に再読み込み(リロード)すると、フォームのPOST内容が再送信されるのが普通ですが、MacIEは再送信されません。

このページはリンクフリーです。設定などは自己責任で…
Copy Right kikky

kikky.net