/*-------------------------------------- * Common parameters * * @param AppRoot application root path * @param Controller controller parameter * @param Action action parameter * @param RunPath run path */ var AppRoot = '/inquiry'; var Controller = 'form'; var Action = 'index'; var RunPath = AppRoot+'/'+Controller+'/'+Action; /*-------------------------------------- * Ajax post function (jquery) * * @param path request uri * @param data post data * @param async async mode (true | false) * @param callback callback function */ function ajaxPost (path, data, async, callback) { /* extend callback parameters */ var params = $.extend({ async : async, method : 'POST', contentType : false, processData : false, data : data, dataType : 'json' }, callback); /* call ajax */ $.ajax(path, params); } /* number format */ function _number_format (int) { return int.toString().replace( /([0-9]+?)(?=(?:[0-9]{3})+$)/g , '$1,'); } /* un number format */ function _un_number_format (chr) { var chr = chr.toString().replace( /,/g , ''); return ($.isNumeric(chr))? parseInt(chr) : 0; } jQuery(document).ready(function(){ /*-------------------------------------- * datepicker */ //$('.datepicker').datepicker({dateFormat: 'yy-mm-dd'}); /*-------------------------------------- * validation engine (jquery) * */ $('form').validationEngine( 'attach', { showOneMessage : true, promptPosition : 'topLeft', ajaxFormValidationMethod: 'post' } ); /*-------------------------------------- * get address (jquery) * */ $(document).on('click', '.add-serch', function () { var pn = function (o, dn) { var cn = $(o)[0].nodeName; return (cn == dn)? o : pn($(o).parent(), dn); }; var path = 'https://satou-k-co-jp.prm-ssl.jp'+AppRoot+'/common/check_postcode', data = new FormData(), tbl = pn(this, 'DD'), code = $(tbl).find('.zip1').val() + $(tbl).find('.zip2').val(); /* append data */ data.append('code', code); /* callback */ var callback = ({ beforeSend : function (res) {}, success : function (res) { $(tbl).find('.postcode-area').val(res['area']); $(tbl).find('.postcode-adrs1').val(res['adrs1']+res['adrs2']); $(tbl).find('.postcode-adrs2').val(''); }, error : function (res) { $(tbl).find('.postcode-area').val(''); $(tbl).find('.postcode-adrs1').val(''); $(tbl).find('.postcode-adrs2').val(''); }, complete : function (res) {} }); /* post postcode data */ ajaxPost(path, data, true, callback); }); /*-------------------------------------- * delete white space */ $(document).on('focusout', 'input[name=m_rprsnttv_nm], input[name=m_prsn_nm]', function () { var elm = $(this), txt = $(elm).val(); $(elm).val(txt.replace(/[  ]/g, '')); }); $(document).on('focusout', "input[name$='m_rprsnttv_nm]'], input[name$='m_prsn_nm]']", function () { var elm = $(this), txt = $(elm).val(); $(elm).val(txt.replace(/[  ]/g, '')); }); /*-------------------------------------- * check text area length */ var tempText = new Array(); $('.textarea-limit').each(function () { //_check_textarea_init(this);// ←ここを復帰 $(this).attr('style','overflow:scroll');// ←ここを削除 }); $(document).on('keyup blur', '.textarea-limit', function (e) { //_check_textarea_limit(this);// ←ここを復帰 }); function _check_textarea_init (elm) { var textarea = $(elm), maxRows = $(textarea).attr('rows'), maxText = (maxRows * 53) + parseInt(maxRows); var textCtrl = $('
').addClass('textarea-control'); var textCommt = '
全角半角問わず、最大'+ maxRows +'行、'+maxText+'文字までとなります。
'; var textCount = '
文字数:0/'+maxText+'
'; var rowsCount = '
行数:0/'+maxRows+'
'; $(textCtrl).append(textCommt, textCount, rowsCount); $(textarea).after(textCtrl); _check_textarea_limit(elm); } function _check_textarea_limit (elm) { var rows = function (obj) { tmp = $(obj).clone(); $(tmp).val($(obj).val()).attr('rows', 0).attr('style', 'height:0px;line-height:14px;padding-top:0;padding-bottom:0'); $(obj).parent().prepend(tmp); var sh = $(tmp).get(0).scrollHeight; var ch = $(tmp).get(0).clientHeight; $(tmp).remove(); return Math.round((sh-ch)/14.08); } var textarea = $(elm), textName = $(elm).attr('name'), maxRows = $(textarea).attr('rows'), nowRows = rows(textarea), text = $(textarea).val(), textArray = text.split(""), textCount = 0, lineArray = text.split("\n"), lineCount = lineArray.length, newText = ''; $(elm).parent().find('.now-rows').text(nowRows); if(nowRows > maxRows){ $(textarea).val(tempText[textName]); return false; }else{ tempText[textName] = text; } $(textArray).each(function (i, STR) { len = encodeURIComponent(STR).replace(/%../g, "x").length; textCount += (len > 1 )? 1 : 1; }); $(elm).parent().find('.now-input').text(textCount); $(elm).parent().find('.now-rows').text(nowRows); } });