$(function() { $(document).ready(function () { window.post = function(form,access,key){ console.log("post"); console.log("access : "+access); console.log("key : "+key); form.addClass("loading"); var params = form.serialize(); // console.log(params); $.ajax({ type: "POST", url: "https://cms-test.nisor.com/elements_php_form/ajax_post.php", data: params + "&access=" + access + "&key=" + key, dataType: "json", crossDomain: true, cache: false, xhrFields: { withCredentials:true } }).done(function(data_json) { console.log("done"); console.log("key: "+key); console.log(data_json); var form_id = data_json.form_id; var form_elm = data_json.form_elm; var elm_body = data_json.elm_body; var log = data_json.log; var status = data_json.status; if( key == "save_xml" ){ }else if( key == "publish_xml" ){ }else{ form.empty(); form.append(form_elm); } if( elm_body != "" ){ if( ! $("body > .popups").hasClass("show") ){ $("body > .popups").empty(); $("body > .popups").addClass("show"); } $("body > .popups").append(elm_body); } if( log != "" ){ if( ! $("body > .logs").hasClass("show") ){ $("body > .logs").empty(); $("body > .logs").addClass("show"); } $("body > .logs").append(log); } if( typeof mes_limiter != "undefined" ){ clearTimeout( mes_limiter ); } mes_limiter = setTimeout( function(){ $("body > .popups").removeClass("show"); $("body > .logs").removeClass("show"); } , 30000); setTimeout( function(){ form.removeClass("loading"); if( status == "err" ){ move_err(form); } if( status == "success" ){ // // move_form_top(form); } } , 100); }).fail(function(data_json) { console.log("fail"); console.log(data_json); // location.reload(true); setTimeout( function(){ form.removeClass("loading"); } , 100); }); } $(document).on("click", "form.nisor:not(.loading) input.submit", function(){ var key = ""; if( $(this).closest("form.nisor").find("input.submit").val() == "SAVE XML" ){ key = "save_xml"; } post( $(this).closest('form.nisor'), "submit", key ); return false; }); $(document).on("keydown", "form.nisor:not(.loading) input", function(e) { if ( e.which == 13 ) { var key = ""; if( $(this).closest("form.nisor").find("input.submit").val() == "SAVE XML" ){ key = "save_xml"; } post( $(this).closest('form.nisor'), "submit", key ); return false; } }); $(document).on("click", "form.nisor:not(.loading) div.return", function(){ post( $(this).closest('form.nisor'), "return" ); return false; }); $(document).on("keyup", "form.nisor:not(.loading) input[data-input_type='postcode']", function(e) { var val = $(this).val().replace( "-", "" ); var str_length = val.length; var input_id_base = $(this).attr("id").replace("address_postcode",""); if( str_length == 7 ){ var important = $(this).attr("data-important"); postcode_input(val,important,input_id_base); } }); function scrollto(val){ $('html, body').stop().animate({ scrollTop: val }, 1000, "easeOutQuint",function(){ }); } function move_err(form){ if( form.find(".form_row.err")[0] ){ var target = form.find(".form_row.err").first(); var scroll_val = target.position().top + form.position().top - 100; scrollto(scroll_val); } } function move_form_top(form){ if( form[0] ){ var target = form; var scroll_val = form.position().top - 100; scrollto(scroll_val); } } $(document).on("click", "div.modal > div.overlay, div.modal > div.inner > div.close, div.modal > div.inner > a, #wrapper > div.modal > div.inner > div.inline_scroll > div.content a", function(){ var target = $(this).closest(".modal"); target.addClass("fadeout"); setTimeout( function(){ target.removeClass("active fadeout"); } , 500); }); function stringZentohan(data){ data.replace(/[A-Za-z0-9]/g, function(s) { return String.fromCharCode(s.charCodeAt(0) - 0xFEE0); }); return data; } function postcard_format(zip){ return zip.substr(0, 3)+'-'+zip.substr(3); } function postcode_input(val,important,input_id_base){ var zip = stringZentohan(val); var important_arr = important.split('/'); var key_postcode = important_arr[0]; var key_state = important_arr[1]; var key_city = important_arr[2]; // var url = 'https://api.zipaddress.net?callback=?'; // var query = {'zipcode': zip}; // $.getJSON(url, query, function(json){ // $('#'+input_id_base+key_postcode).val(postcard_format(zip)); // $('#'+input_id_base+key_state).val(json.pref); // $('#'+input_id_base+key_city).val(json.address); // }); var url = 'https://cms-test.nisor.com/process/api/zipcode?code='; var query = {'zipcode': zip}; console.log(url+zip); $.getJSON(url+zip, function(json){ console.log(json); if( json.results != null ){ $('#'+input_id_base+key_postcode).val(postcard_format(zip)); $('#'+input_id_base+key_state).val(json.results[0].address1); $('#'+input_id_base+key_city).val(json.results[0].address2+json.results[0].address3); } }); } window.num_pyphen = function (str) { return str.replace(/[0-9]/g, function (s) { return String.fromCharCode(s.charCodeAt(0) - 65248); }).replace(/[‐-―ー]/g, '-').replace(/[^\d\-]/g, ''); }; window.getNumberFormat = function (number, decimals) { if (! decimals) { var decimals = 0; } // 位をずらし四捨五入 var place = Math.pow(10, decimals); var number = Math.round(number * place) / place; // 整数と小数に分割 var num = number.toString().split('.'); // カンマ付与 var integer = num[0].replace(/([0-9]{1,3})(?=(?:[0-9]{3})+$)/g, '$1,'); var str; if (num[1]) { if (num[1].length < decimals) { // 指定桁数まで0を追加 var zero = decimals - num[1].length; for (var i = 0; i < zero; i++) { num[1] = num[1] + '0'; } } str = integer + '.' + num[1]; } else { str = integer; } return str; } }); });