Sato IT Studio - PMCJ

Form Fielde Checker JS 設置詳細

【 注意事項 】

  ・ addEventListenerメソッド等の非対応ブラウザでは機能しません。

【 同梱ファイル 】

  Form Fielde Checker JS

  js-css/FormFChecker.js (本体)   js-css/FFChecker.css (FormFieldeChecker用スタイルシート)

  img/next_0.png next_1.png next_w.png (Step用矢印画像)

  index.html (WEB・Local表示用サンプルhtml) index_fileView.html (ファイル表示用サンプルhtml) ※ js-css/FormFChecker_fileView.js ( ファイル表示用サンプルhtml用の FormFChecker.js )   js-css/Form.css (サンプルhtmlフォーム用スタイルシート) qr.png (QRコード画像 ※PMCJへのリンクとなります。)

  readme.txt (説明ファイル)

【 編集説明 】

  フォーム html

  1. <head>〜</head>の間に <link rel="stylesheet" href="./js-css/FFChecker.css" type="text/css"> を記述する。 ※ どうしてもjsエラーなる ( jsで cssを読み込む為 アクセス拒否 ) と言う場合はURLで指定してみて下さい。   ( 又は、FFChecker.css内記述を <head>〜</head>内に直接記述してみて下さい。※ 同梱 index_fileView.html参照 )

</body> (最下部) の手前に <script src="./js-css/FormFChecker.js" type="text/javascript" charset="UTF-8"></script>

※ 利用するformページが UTF-8ではない場合、charset="UTF-8"の付け忘れはしないで下さい。   2. フォームの設定について

はじめに ... formタグに onkeydown="return FieldKeyCheck(event)" を記述

 <form role="form" ... 省略 ... onkeydown="return FieldKeyCheck(event)"> ※ フィールド内での [ Enter ] 対する処置です。( Enterでの送信防止 ) Submitでのチェック ( ※ submit実行時でのチェックが必要ないと言う場合は不要 )

a) formタグに onsubmit="return SubmiClickOn()" を記述

  <form role="form" ... 省略 ... onkeydown="return FieldKeyCheck(event)" onsubmit="return SubmiClickOn()">

b) <input type="submit" 等のタグに onClick="return SubmiClickOn()" を記述

  <input name="submit" type="submit" value="確認画面へ" onClick="return SubmiClickOn()"> 各フィールドでのチェックと表示 チェックしたいフィールドタグに class="FField" を記述

  ( フィールド名 => nputやselect等に設定している name値 )

 <div class="formRow"> <div class="from_item formFieldTop">お名前 <font style="font-size:12px">※</font></div> <div class="from_field formFieldTop"> <span id="fieldMSG_name"></span> <input type="text" name="name" value="" class="FField"> <small id="samp_name">例)山田 太郎</small> <br><span id="fieldLengMSG_name" class="field_Msg"></span> </div>   </div>

 下記は、使用しているformに合わせて記述場所を決めて下さい。

 1. <span id="fieldMSG_フィールド名"></span> 吹き出し(ポップアップ) 入力エラー表示用記述    ※ 下記 2. のエラーもこちらで表示可能

 2. <span id="fieldLengMSG_フィールド名"></span> Html書込み 個数等エラー表示用記述 <span> 〜 </span>内に文面があれば記載して下さい。 (エラーがあれば書き換えられます。)    ※ 上記 1. のエラーもこちらで表示可能

 3. <small id="samp_フィールド名">例)山田 太郎</small>    ※ フィールド内に記入例を入れた際に Htmlに記載している記入例を消したい場合に id="samp_フィールド名" を記述

Input type="file/checkbox/radio"、Selectフィールドでのチェック

 class="FField"と共に、onChange="FieldClickOn(this)"を記述

 <input type="file" ... 省略 ... class="FField" onChange="FieldClickOn(this)">  <select name="select1" ... 省略 ... class="FField" onChange="FieldClickOn(this)">  <input type="checkbox" ... 省略 ... class="FField" onChange="FieldClickOn(this)">  <input type="radio" ... 省略 ... class="FField" onChange="FieldClickOn(this)">

 ※ onChange="FieldonChange(this)" でもOKです。    又、type="file"は ファイル選択画面にてチェックされてしまうので onChangeの記述は必須となります。 Input type="checkbox/radio" Labelタグを使用している場合でのチェック

 class="FField"と共に、Labelタグには onClick="FieldClickOn(this)"を記述

 <input id="checkbox_1" type="checkbox" ... 省略 ... class="FField">  <label for="checkbox_1" ... 省略 ... onClick="FieldClickOn(this)"> checkbox1</label>

 <input id="radio_1" type="radio" ... 省略 ... class="FField">  <label for="radio_1" ... 省略 ... onClick="FieldClickOn(this)">radio1</label>

 ※ onClick="LabelonClick(this)" でもOKです。 ※ Input type="checkbox/radio"でのフィールドエラーカラーについて

 checkbox/radioは (Label未使用) boxShadowColorしか反映されない為、 下記を記述すると囲まれた範囲にフィールドエラーカラーが反映されます。

 <div id="fieldErrorColor_フィールド名"> <input type="checkbox" ... 省略 ... <input type="checkbox" ... 省略 ... ... 省略 ...  </div>

  ※ 表示状況はサンプルページにてご確認下さい。 年月日( select セット設定 )での曜日表示

 <span id="DayWeek_日のフィールド名">(--)</span> Input type="file"での画像ロード表示

 使用しているformに合わせて記述場所を決めて下さい。

 <span id="Image_ViewAria_フィールド名"></span> Submitでの吹き出しエラー表示

 使用しているformに合わせて記述場所を決めて下さい。

  デフォルト表示

 <div id="fieldMSGSubmit"></div>   カスタム表示 ( OKボタン等カスタマイズしたい場合 )

 <div id="UserSubmitError"> ( サンプルでは読み込まれないよう "__UserSubmitError"としています。 )   <!-- div id="SubmitErrorView">  <div id="SubmitErrorTitle">#SubmitMsgTitle#</div>   <div id="SubmitErrorMSG">#SubmitErrorMsg#</div><p>   <div align=center><input type=button id="SubmitErrorButton" value=" OK " title="閉じる" onclick="SubmitMSGClose();"></div>   </div -->  </div>  ※ 赤太文字は必須   FormFChecker.js 個人設定

  1. Step Style 設定

各StepURLの設定 URLに含む各ステップを判別出来る文字列を設定

 const FormStepHref = [  /* step 1 */ '',  /* step 2 */ '\\?step2',  /* step 3 */ '\\?step3'  ];

 ※ [ step 1 ] は空設定で良いですが、状況により設定して下さい。 チェンジStepStyle設定 上記の判定で得た数値(1〜3)が #StepNo#に置き換えされます。

 //#******* チェンジするStepStyleの設定 ( ['セレクター名', 'スタイル'] ) *******  const StepStyleChange = [   [ '.Step_#StepNo#', 'color: #FFFFFF; ... 省略 ...  ※ ご自身で、Stepのスタイルを作成する際は、セレクター名区別にこの数値を入れ記述して下さい。   2. フォームフィールド クラス名

上記 [ フォーム html ] での [ class="FField" ] でのクラス名変更可能

const FClassName = '.FField';   3. 各フィールド条件詳細設定

FCheck => 連想配列のキー値にフィールド名( Field の name値 )、 ハッシュに連想要素を入れ条件設定しています。

var FCheck = { 'name' : ['お名前', ... 省略 ... 'name_kana' : ['お名前(カナ)', ... 省略 ... 以下、連想要素の第1引数〜第8引数までの設定説明

1 => フィールドに対する項目名 ( 吹き出しエラーエラー表示時に利用 )

2 => 必須 ( + disabled解除条件 ) : '1+select2.02+checkbox3.03'    [ 1=> 必須、0=> 任意 ] + [ 解除するフィールド名 . 自身のValue値 (単に入力や選択があれば良い場合 " value ") ]

3 => 文字・選択数制限 : [ 制限数値 ] . [ 下限エラーNo ] . [ 上限エラーNo ]  ( 上限のみの場合空設定 -> 制限数値..上限エラーNo )

  ・ 制限数値指定例 : [ 0-10 ]=> 10以上のエラー、[ 5-10 ]=> 5以下 or 10以上のエラー、 [ 2-2 ]=> 2個必死、[ 20+20 ]=> 20以下メッセージ or 20以上のエラー (コメント欄等に利用)

4 => 入力一致条件 : 複数指定の場合 [ ^^ ] で区切って下さい。

  ・ お名前(カナ)での設定例 => [ hk^^k ] ひがかな〜カタカナ変換後、カナのチェック   ・ 他のフィールドとの一致条件の指定 => [ as ] - [ フィールド名 ] ( 例 : as-email -> メールアドレスの再確認 )   ・ 独自判定での一致条件の指定 => [ cg ] - [ 正規表現 ] ( 例 : cg-^[0-9]{7}$ -> 郵便番号7桁 )     ( 判定にコンマ[,]シングルクォーテーション[']を利用したい場合は 16進数 ( それぞれ \\x2c \\x27 ) を指定して下さい。例 : cg-^[0-9\\x2c]+$ )

  ・ 以下、JSに組み込まれている変換指定 [ n ] : 全て数字かのチェック [ y ] : ハイフン [ - ] 含む郵便番号チェック ( 3桁 - 4桁 ) [ t ] : ハイフン [ - ] 含む電話番号チェック ( 2〜5桁 - 1〜4桁 - 4桁 ) [ u ] : URL形式のチェック [ m ] : メールアドレス形式のチェック [ i ] : 全て英数字または [ _ ] [ - ] かのチェック (簡易パスワード等のチェック) [ p ] : パスワードのチェック ( 英字大文字小文字及び記号が含まれているかのチェック ) [ z ] : 全角チェック (名前等々 ※ 全角空白又は全半角空白連続は半角空白1文字変換); [ k ] : 全角カナチェック (名前カナ等々 ※ 全角空白又は全半角空白連続は半角空白1文字変換); [ h ] : 全角かなチェック (名前かな等々 ※ 全角空白又は全半角空白連続は半角空白1文字変換); [ zh ] : 全角〜半角変換 (数字入力フォーム等) [ kh ] : 全角カナ〜かな変換 [ hk ] : 全角かな〜カナ変換 5 => エラー吹き出し位置・カラー : ( 全てカンマ [ . ] 区切り ) [ 吹き出し矢の向き b=>下、l=>left t=>上 ] . [ top px ] . [ left px ] . [ width px (or auto) ] . ( 以降個別に色を指定したい場合=> backgroundColor . borderColor . textColor )

6 => 入力例題 : テキストフィールド記入例を表示したい場合、記入例を記述

7 => 年月日条件 : [ year.mon.day ] ( 年・月・日のフィールド名をカンマ [ . ] 区切りでセット設定、以降もカンマ区切り ) . [ 1 -> dayフラグ、 2 -> フラグ or Now日付表示、3〜年数 -> フラグ or Now日付表示 or 西暦自動書込 ] . [ 1 -> 過去年月日のカット ] . [ 年(等々)西暦自動書込の際text値に入れたい文字があれば ... ]

3〜年数 => [ 7 ] を設定すると、5年分の西暦を自動書き込み

   FileUP条件 : [ファイル容量上限 kb単位] . [エラー番号] + [幅上限] . [高さ上限] . [エラー番号2] . [プリント幅サイズ(高さは自動)] . [ プリント高さサイズ(自動にしたく無い場合) ] . IE11にてPromise オブジェクト利用可能な場合は [ 1 ]

※ [エラー番号] + 以降の設定は、画像ファイルロードに対する設定となります。( Promise 使用 ) ※ [エラー番号2] は、基本的に空設定で設定不要です。

8 => disabled設定 : 上記 [ 2 =>] でのdisabled解除条件に対する対象フィールドに [ 'd' ] を設定   4. フォームフィールド エラー設定

 const DoubleError = 0;   => [ 0 ] 下記設定による分別表示、[ 1 ] 全エラーを両方(吹出・書込)に表示

 const PopUpViewError = 2; => 吹出 : [ 0 ] 非表示、[ 1 ] 表示、[ 2 ] 表示 or フィールドエラーカラー

 const HtmlPrintError = 2; => 書込 : [ 0 ] 非表示、[ 1 ] 表示、[ 2 ] 表示 or フィールドエラーカラー

  5. 吹き出しエラーメッセージ設定

  下記配列、0〜3は 上記 [ 2 => 必須 ]での [ 1 ] 設定における固定メッセージ  const ErrorMessaEnd = [  /* 0 */ '記入がありません。',  /* 1 */ '記入形式に間違いがあります。',  /* 2 */ '選択がありません。',  /* 3 */ 'と一致しませんでした。',  /* 4 */ '同意をお願い致します。' -> [ 4 => 入力一致条件 ] での 必須 [ 4 ] 設定に対する追加設定メッセージ  ];

※ 追加設定例 => 'agree' : ['個人情報の取り扱い', '4', ... 省略 ...    ( 通常、必須設定は [ 1 ]ですが、個別に設定したい場合は、4以降を設定し対象引数を配列に追加して下さい。 )   項目名に対する設定  //# エラーしたフィールド項目名の囲い  //#  const ErrorNameTag = [1, '" ', ' " ' ];

 ※ [ 0 設定でエラーに項目名を付けない ( 但し、Submitでは付加 ) , ダブルクォーテーションで囲む設定 , 〃 ]   6. HTML書込み エラーメッセージ ( 基本形的には、文字数・選択数に対するエラーメッセージ表示 )   下記、0〜8 [ 3 => 文字・選択数制限 ] での [ 上下限エラーNo ]

 var FieldLengMessa = [  /* 0 */ '指定文字数に達していません。',  /* 1 */ '指定文字数を超えました。',  /* 2 */ 'あと全角#LEN_Z#文字までです。',  /* 3 */ '指定文字数から全角#LEN_Z#文字超えました。',  /* 4 */ '選択指定数に達していません。', ... 中省略 ...  /* 7 */ '指定ファイル数を超えました。',  /* 8 */ '指定容量が#LEN#KB程超えていました。',  /* 9 */ ''  ];  //#  ※ #LEN# -> 個数又は半角数、#LEN_Z# -> 全角数に置き換えられます。

  メッセージ変更は、文字列の書き換えか、9以降にて追加設定。    尚、99(ファイル サイズエラー専用 ) 〜 101までは、固定メッセージが設定されています。   7. Submit(button) 実行時の入力エラー表示設定

  下記にて、Submit(button)実行時での各フィールド吹出・書込エラー表示設定

 //#*** 上記の吹き出し・文字数・選択数エラーの表示方法 *****  //#  const sErrorMessaTime = 0; // 上記の各フィルド吹き出しエラーメッセージの表示秒数 1/1000秒  //# 吹出表示 設定例: [ 3000 ] -> 3秒間表示、[ 0 ] -> 自動的に消さない、[ -1 ] -> Submit時には非表示  //#  const sHtmlPrintError = 2;  //# 書込表示 設定例: [ 1 ] -> 表示、[ 2 ] -> 表示 or フィールドエラーカラー、 [ 0 ] -> 非表示 ※ [ -2 ] -> フィールドエラーカラーのみ

  Submit(button) 専用 吹き出しエラー設定

 const SubmitMsgView = 2; // [1] -> 下記 メッセージ設定表示、[2] -> 各フィールドエラー表示、[ 0 ] -> 非表示  //#  //# タイトル  const SubmitMsgTitle = '入力情報に不備があるようです。';  //#  //# メッセージ  const SubmitMsgValue = '入力情報を修正後、再度 [ 確認画面 ] ボタンを押して下さい。';   Submit吹き出し表示のスクロールについて

 const AreaHeightType = 0; // もしスクロールにて移動しない場合 [ 1 or 2 ]で試して下さい。

 ※ 設置する htmlのDOCTYPE宣言記述状況にて一部のheight値の取得方法を変えていますが もしスクロール移動しないようでありましたら、AreaHeightType設定にてお試し下さい。   8. 個人設定その他

  下記の「以下、サンプルフォーム用」より下部の関数は不要です。   ご利用の際は、不要部分を抹消し、   その上記にある function MobileViewProcess(){ } のコメントアウト( /**/ )を外して下さい。   この関数には、もしモバイル用等に何か処理をしたい場合記述して下さい。( onload、onresize時に処理 )   注意: もし個人設定での設定値を変更したい場合は、[ const Xxxxx ] は、[ var Xxxxx ] として下さい。  /*  //###############################################################################  function MobileViewProcess(){  }  //###############################################################################  */  //###############################################################################  //################### 以下、サンプルフォーム用 ##################  //###############################################################################  function MobileViewProcess(){

  因みにサンプルフォーム用に記述している内容は、「簡易モバイル表示」でのフォーム2分割に伴い、   フォーム及び、[ 各フィールド条件詳細設定 ] での FCheckデータにおいて不要となる記述の削除処理をしています。   注意: FCheckは [ var FCheck ] なっていますがこの処理だけの為ではありませんので [ const ] に変更はしないで下さい。  }

戻る | HOME | SERVICES > レンタル - プログラム - フリー素材 | HOW TO | LINKS | USERS | 閉じる
 PMCJは、フリーCGIを中心としたプログラムの配布及び製作やCGIレンタルサービスをしているサイトです。
Copyright (C) 1998-2017 Sato IT Studio PMCJ by Tomio Sato. All Rights Reserved.