|
||||||||||
入力フォームの空欄をチェックするだけの簡単スクリプトです。 必須項目と自分が決めて設定した場所だけ空チェックします。
フォームはJavaScriptがOFFの場合でも送信可能にして、データを受け取るCGI側で行うのが基本だと思います。
JavaScriptがONの時だけ補助的な事前チェック機能として付けておくのが良いと思います。
サンプルはJavaScriptがOFFの場合でも送れるようにできますが、
デフォルトではJavaScriptがONで無いと送れないようになっています。(簡単に変更可能)
[ INPUT、TEXTAREA、Selectの空フォームだけのチェック ] シンプルフォームの空欄チェック用。Selectはvalue値を設定し単一選択型の場合のみ。
■サンプル 1-1 sample1-1.htm
■サンプル 1-2 sample1-2.htm
■サンプル 1-3 sample1-3.htm 説明はサンプルの方の画面にあります。フォームは自分で項目数やレイアウトを組んでください。 INPUTやTEXTAREAの背景色を変えるものなので、空チェックはvalueの値のみで行っています。
各設定項目は
この書き方が、少しわかりにくいかも? フォームやアンケートに使えるほぼ全項目のチェックは設定方法がちょっとわかり辛いので Formチェック2に掲載しています。
自分で作りたい人もいると思いますので、完成品ではなく シンプルな方法から順に機能を付加していく形で説明しておきます。 基本Sample1についてです。(2,3は1に更にちょっと付加した程度ですので) ■工程1 test1.htm
まずフォームを自分なりのレイアウトで作ります。
スクリプト側ではthisでフォームオブジェクトを貰っているので、
getElementByIdなどを使わなくて済みます。
フォームは送信するのにnameが必要なので、そのままnameで全て行っていしまいます。
■工程2 test2.htm アラートをローレベルブラウザの為だけにしておいて、 getElementByIdかallコレクションが使えるブラウザは項目の背景色を変えるようにします。 ■工程3 test3.htm
今までErrと言う関数で『空』の場合だけ警告操作をしていましたが、
この関数を『空』『空でない場合』を両方チェックする関数に変えます。
空なら色をつけて、空でなければ色を戻します。 また、リセットボタンでも色も戻るようにしなければ不自然なので、 フォームにonReset()をつけて、リセット時に色を戻す関数に渡します。 全項目をいちいち調べる必要はなく、チェック時に配列に入れておいたオブジェクト全てに対して 色を元の色に戻します。 ■工程4 test4.htm
JavaScriptがOFFだとこのチェックは何の役にも立たなくなります。
submitボタンをただのボタンに変えてJavaScriptでsubmit()する方法と、
Submitボタンは残すがactionを外してしまって、
スクリプト側で送信可能な状態ならactionを設定してsubmit()する方法があります。
Submitボタン後者の方がフォームの特性を生かせるので後者にします。
でもフォームはEnterキーでいきなり送信されてしまう事も避ける為、
Submitボタン自体は半分生かしながら、onsubtmi="return false"で送信は無効にします。
3で先に付けておいてもよかったのですが、使いやすくする為に ■工程5 test5.htm
更に使いやすくして完成です。
このスクリプトではチェック自体はIDからのオブジェクト指定は使っていませんが、
自分で使いやすいように改造できるようにIDからもとりやすくしています。 サンプルは下位互換(結構古いブラウザ)を切り捨ててますが、 グローバル変数・関数を一つにして、オブジェクトにしています。 完成サンプルの2,3は更に文字でエラーアナウンスをつけてあります。 |
専用ページから申し込むと So-netより高い3万円CB
案ずるより産むが易し
使ってみれば疑問も解決 XREA+ (plus) 206円/月 ( お試し7日間 ) CORE SERVER 428円/月 ( お試し15日間 ) ロリポップ 270円/月 ( お試し期間10日間 ) ヘテムル 1620円/月 ( お試し期間15日間 ) さくら 129円/月 ( お試し期間2週間 ) |
|||||||||
【 PR 】 楽天カード入会でもれなく2000pt(2000円相当)が無料プレゼント さらに
ENEOSでの給油はポイント2倍! ネットでも日常でもお得な生活 【 PR 】
|