トップページに戻る    オートコンプリート    LINQに対応したJavaScriptの配列の操作    JavaScriptメモ

JavaScriptによるツール


目次

001. 送信フォームの値を埋めるjQuery作成


001 送信フォームの値を埋めるjQuery作成

var RadioNameSet = []; //ラジオボタンのnameの配列

var WillOutArr = [];

$('form *').each(function(){
    //テキストボックス
    $(this).filter('input[type=text],input[type=tel],input[type=email],input[type=password]').each(function(){
        var CurrName = $(this).attr('name');
        var PatternArr = [];
        var WillSetValArr = [];
        PatternArr.push(new RegExp('^(f_)?name$'));       WillSetValArr.push('サンプルでの初期値');
        PatternArr.push(new RegExp('^(f_)?kana$'));       WillSetValArr.push('サンプルでの初期値');
        PatternArr.push(new RegExp('^(f_)?date[123]?$')); WillSetValArr.push('サンプルでの初期値');
        PatternArr.push(new RegExp('^(f_)?zip$'));        WillSetValArr.push('サンプルでの初期値');
        PatternArr.push(new RegExp('^(f_)?address$'));    WillSetValArr.push('サンプルでの初期値');
        PatternArr.push(new RegExp('^(f_)?tel$'));        WillSetValArr.push('サンプルでの初期値');
        PatternArr.push(new RegExp('^(f_)?e?mail$'));     WillSetValArr.push('サンプルでの初期値');
        PatternArr.push(new RegExp('^loginpass$'));       WillSetValArr.push('サンプルでの初期値');

        var SetVal = '★★★設定値★★★';

        for(var I = 0 ; I <= PatternArr.length - 1 ; I++){
            if(PatternArr[I].test(CurrName)){
                SetVal = WillSetValArr[I];
                break;
            }
        }

        WillOutArr.push(`$('input[name=${CurrName}]').attr('value','${SetVal}');`);
        if((new RegExp('^(f_)?zip$')).test(CurrName)){
            WillOutArr.push(`$('input[name=${CurrName}]').change();`);
        }
    });

    //テキストエリア
    $(this).filter('textarea').each(function(){
        var CurrName = $(this).attr('name');
        var SetVal = '★★★テキストエリア名称★★★の1行目\\n2行目\\n3行目';
        WillOutArr.push(`$('textarea[name=${CurrName}]').val('${SetVal}');`);
    });

    //プルダウン
    $(this).filter('select').each(function(){
        var CurrName = $(this).attr('name');
        var SetVal = $(this).find('option').not('[value=""]').first().attr('value');
        if((new RegExp('^(f_)?pref$')).test(CurrName)){
            WillOutArr.push(`$('select[name=${CurrName}]').val('16');`);
        } else {
            WillOutArr.push(`$('select[name=${CurrName}]').val('${SetVal}');`);
        }
        WillOutArr.push(`$('select[name=${CurrName}]').change();`);
    });

    //チェックボックス
    $(this).filter('input[type=checkbox]').each(function(){
        var CurrName = $(this).attr('name');
        CurrName = CurrName.replace('[]',''); // [] を削除しておいて、前方一致検索を使う
        var CurrVal  = $(this).attr('value');
        WillOutArr.push(`$('input[type=checkbox][name^=${CurrName}][value=${CurrVal}]').prop('checked',true);`);
        WillOutArr.push(`$('input[type=checkbox][name^=${CurrName}][value=${CurrVal}]').change();`);
    });

    //ラジオボタン
    $(this).filter('input[type=radio]').each(function(){
        var CurrName = $(this).attr('name');
        if(RadioNameSet.indexOf(CurrName) == -1){
            RadioNameSet.push(CurrName);
            WillOutArr.push(`$('input[type=radio][name=${CurrName}]:first').prop('checked',true);`);
            WillOutArr.push(`$('input[type=radio][name=${CurrName}]:first').change();`);
        }
    });
});
WillOutArr.push(`// document.forms[0].submit();`);
copy(WillOutArr.join('\n'));