JavaScriptプログラムに関する各種メモ書き

jQueryでフォームの全ての要素に入力や選択があるかどうかを調べる

関数 is_form_written を定義

function is_form_written(jq_obj){
    var tagname = $(jq_obj).prop("tagName");
    var type = $(jq_obj).prop('type');
    if (tagname==='SELECT'){
        if ( $(jq_obj).val() === '' ){ return false; }
        else{ return true; }
    }
    else if (tagname==='INPUT'){
        if (type==='radio'){
            return $(jq_obj).prop('checked');
        }
        else if (type==='checkbox'){
            return $(jq_obj).prop('checked');
        }
        else if (type==='text'){
            if ($(jq_obj).prop('value')!==''){ return true; }
            else{ return false; }
        }
    }
    else{
console.log($(jq_obj).prop("tagName"));
    }
}

以下のように呼び出して全ての要素(input , select , textarea)をチェックします

$('input,select,textarea').each(function(){
    if ( is_form_written(this) ){
        alert( $(this).prop('name') + ' は入力または選択済みです。');
    }
})

関連エントリー

No.935
03/19 19:15

edit

jQuery
フォーム