[JavaScript]


この日記のはてなブックマーク数 このエントリーを含むはてなブックマーク
以下のようにすれば一括でフォームの入力チェックを行うことが可能。

function EntryCheck(){
var elementsLen = document.form1.elements.length;
notRequirement = ['fax'];
var english_only = ['company_en', 'organization_type_en', 'repname_en_last', 'repname_en_first'];
var numbers_only = ['company_registration_year', 'company_registration_month', 'company_registration_day', 'zip1', 'zip2'];
var numbers_and_hyphen = ['phone', 'fax'];

for (var i = 0 ; i < elementsLen ; i++) {
    if(document.form1.elements[i].type == 'text' || document.form1.elements[i].type == 'textarea' ) {
        var exclude = 0;
        for (var temp in notRequirement) {
            if ( document.form1.elements[i].name == notRequirement[temp] ) {
                exclude = 1;
            }
        }

        //必須項目且つ値が空の場合はエラーを表示
        if ( !exclude && !document.form1.elements[i].value) {
            document.form1.elements[i].focus();
            alert('必須項目が入力されていません');
            return false;
        }
    }

    //ローマ字only項目のチェック
    for (var j in english_only) {
        if ( document.form1.elements[english_only[j]].value && !document.form1.elements[english_only[j]].value.match(/^[\w|\s|\-|\'|\,|\&|\.|\@]+$/) ) {
            document.form1.elements[english_only[j]].focus();
            alert("ローマ字\(半角\)にて記入してください");
            return false;
        }
    }

    //数値only項目のチェック
    for (var k in numbers_only) {
        if ( document.form1.elements[numbers_only[[k]]].value && !document.form1.elements[numbers_only[[k]]].value.match(/^\d+$/) ) {
            document.form1.elements[numbers_only[[k]]].focus();
            alert("半角英数字にて記入してください");
            return false;
        }
    }


補足: document.formname.elementsはIEだとうまく動かないみたいなので、上記のようにdocument.formname.elements.lengthを取得して回したほうがいいみたい。

関連記事
innerText
全角文字チェック
条件演算子
replaceChild
フォームの値を取得
Option
insertBefore
テーブルのデータを取得
hasChildNodes - 子ノードの判定
createElement - エレメント作成
Ajax.Request
encodeURI
zapatec ajax suite
スタイルシートをダイナミックに読み込み
連想配列のように値にアクセス
text及びtextareaの入力チェック
フォームの要素名一覧取得
for in ループ
this keyword
連結演算子
確認ダイアログ
scriptタグによるJavaScriptの宣言
var - 変数の宣言
選択フォームの値を取得
文字列の長さ
コメント
ラジオボタンがチェックされているかを調べるには
マウスのドラッグを禁止する
メールアドレスの書式チェック
郵便番号の書式チェック
フォームのフォーカスを変える
JavaScriptからCGIに値を渡す
location.href - 指定したアドレスに移動
submit()が動かない
二つ以上の関数を呼び出すには
選択肢によってドロップダウンのメニュー項目を変えるには
一つ前のページに戻る
広告