Webフォームの活用は幅広く、キャンペーンや会員登録など様々なシーンで用いられます。
スパイラル®が選ばれる理由のひとつに、フォームの活用のしやすさが挙げられますが、デフォルトのフォームはシンプルなHTMLです。
DEMOは、こちら ※“お名前”を参照ください。
別れた項目を同じdl要素内に設置する
アンケートフォームを作成する前にまずデータベースの設定を行います。
姓名を分けて登録するため、テキストフィールドを2つ用意します。
設定したデータベースから、下のキャプチャのようなフォームが作成されます。
それではHTMLを見ていきましょう。
<dl class="cf"> <dt class="title"> 姓 <span class="need">*</span> </dt> <dd class="data "> <input class="input $errorInputColor:●●●$" type="text" name="●●●" value="$●●●$" maxlength="32" > <br> <span class="msg">$error:●●●$</span> </dd> </dl> <dl class="cf"> <dt class="title"> 名 <span class="need">*</span> </dt> <dd class="data "> <input class="input $errorInputColor:●●●$" type="text" name="●●●" value="$●●●$" maxlength="32" > <br> <span class="msg">$error:●●●$</span> </dd> </dl>
※●●●には、データベース構築の際、フィールド名ごとに設定した差替キーワードが入ります。
HTMLソースを見てわかるように、フォームはdl要素で構成されています。
ここで、dl要素について整理しておきたいと思います。
・dl=用語を定義する範囲・・・dt要素、dd要素のみを内包できる
・dt=用語・・・アンケートフォームではタイトル、質問内容
・dd=用語の説明・・・アンケートフォームでは各種フォーム
このような特徴を持つため、”姓”のフォーム部分=dd要素に“名”のフォームのinputとspanを移動させます。
スパイラル®では入力欄が分かれている電話番号や郵便番号のdd要素内にulタグを使用しています。
これらを参考に、氏名のフォームも同様の設定すれば時短できます。
<dl class="cf"> <dt class="title"> お名前<span class="need">*</span> <span class="caution">フルネームを全角でご記入ください</span> </dt> <dd class="data name"><!-- CSSの設定でclass名が必要です --> <ul class="cf"> <li>姓<input class="input $errorInputColor:●●●$" maxlength="32" name="●●●" type="text" value="$●●●$" style="margin-right: 10px; "/></li> <li>名<input class="input $errorInputColor:●●●$" maxlength="32" name="●●●" type="text" value="$●●●$" /></li> </ul> <span class="msg">$error:●●●$</span><span class="msg">$error:●●●$</span> </dd> </dl>
またCSS設定の際、設定の範囲を指定する必要があるため、ddタグにclass名を付けることを忘れないでください。
分けたフォームを一列横並びに配置する
HTMLの設定を終えたら、CSSの設定に入ります。
#SMP_STYLE .zipcode ul li, #SMP_STYLE .phone ul li, #SMP_STYLE .time ul li, #SMP_STYLE .name ul li { ←←← 新しく追加 width: auto; float: left; margin: 0 3px 0 0; padding: 0; height: 35px; line-height: 35px; }
このようにフォームを一列横並びにカスタマイズするには、電話番号や郵便番号などのフォームと同じスタイル設定をすれば時短+統一感のあるフォームになります。
HTMLで設定したclass名を、上記のコード例を参考に既存のCSSに追加してください。
フォームカスタマイズ 関連リンク
★ Vol.1 姓名の記述を分けて横並びにするVol.2 “その他”の項目に入力欄を追加する
Vol.3 マトリクス形式の回答欄を作成する
Vol.4 星型のレーティング形式の回答欄を作成する
Vol.5 JavaScriptで項目の表示非表示を切り替える
Vol.6 タップで回答できるバー形式の回答欄を作成する
Vol.7 同意ボタンのチェックで送信ボタンを有効化させる