$(function() { $(document).ready(function () { function post(form,access){ form.addClass("loading"); var formData = new FormData(form[0]); formData.append("access", access); console.log(formData) for (let value of formData.entries()) { console.log(value); } $.ajax({ type: "POST", url: "https://uniconbase.jp/elements_php_form/ajax_post.php", data: formData, dataType: "json", processData: false, contentType: false }).done(function(data_json) { console.log("done"); console.log(data_json); var form_id = data_json.form_id; var form_elm = data_json.form_elm; var status = data_json.status; form.empty(); form.append(form_elm); setTimeout( function(){ form.removeClass("loading"); if(window.parent){ } if( status == "err" ){ move_err(form); } if( status == "success" ){ move_form_top(form); } } , 100); }).fail(function(data_json) { console.log("fail"); location.reload(true); setTimeout( function(){ form.removeClass("loading"); if(window.parent){ } } , 100); }); } $(document).on("click", "form.nisor:not(.loading) input.submit", function(){ post( $(this).closest('form.nisor'), "submit" ); return false; }); $(document).on("keydown", "form.nisor:not(.loading) input", function(e) { if ( e.which == 13 ) { post( $(this).closest('form.nisor'), "submit" ); return false; } }); $(document).on("click", "form.nisor:not(.loading) div.return", function(){ post( $(this).closest('form.nisor'), "return" ); return false; }); $(document).on("click", "form.nisor:not(.loading) .form_switch", function(){ var switch_to = $(this).attr("data-form_switch"); form_switch( $(this).closest('form.nisor'), switch_to ); return false; }); $(document).on("click", "div#navi > nav > ul li.class_logout .menu_btn", function(){ logout(); 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){ if(window == window.parent) { $("html,body").stop().animate({ scrollTop: val }, 1000, "easeOutQuint",function(){ }); }else{ scrollto_iframe(val); } } function scrollto_iframe(val){ if( $("body",parent.document)[0] ){ parent_iframe_offset_top = $("#iframe_wrapper",parent.document).offset().top; $("html,body",parent.document).stop().animate({ scrollTop: val + parent_iframe_offset_top }, 1000, "easeOutQuint",function(){ if(window.parent){ } }); } } function move_err(form){ if( form.find(".form_row.err")[0] ){ var target = form.find(".form_row.err").first(); var scroll_val = target.offset().top - 150; scrollto(scroll_val); } } function move_form_top(form){ if( form[0] ){ var target = form; var scroll_val = form.offset().top - 150; scrollto(scroll_val); } } 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://uniconbase.jp/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); } }); } function edit_input( target ) { if( target.hasClass("other") ){ if( $("input[name='form_lang'][value='en']")[0] ){ if( target.val() == "" ){ target.prev("input[type='radio'],input[type='checkbox']").val("Other"); }else{ target.prev("input[type='radio'],input[type='checkbox']").val("Other : " + target.val()); } }else{ if( target.val() == "" ){ target.prev("input[type='radio'],input[type='checkbox']").val("その他"); }else{ target.prev("input[type='radio'],input[type='checkbox']").val("その他:" + target.val()); } } }else{ target.attr("value",target.val()); } } $(document).on("keydown", "input[type='text'], input[type='password'], input[type='email'], input[type='tel'], textarea", function() { edit_input( $(this) ); }); $(document).on("keyup", "input[type='text'], input[type='password'], input[type='email'], input[type='tel'], textarea", function() { edit_input( $(this) ); }); $(document).on("blur", "input[type='text'], input[type='password'], input[type='email'], input[type='tel'], textarea", function(){ edit_input( $(this) ); }); $(document).on("mouseover", "input[type='text'], input[type='password'], input[type='email'], input[type='tel'], textarea, select", function(){ $(this).addClass("on"); }) $(document).on("mouseout", "input[type='text'], input[type='password'], input[type='email'], input[type='tel'], textarea, select", function(){ $(this).removeClass("on"); }) $(document).on("click", "label.other > input[type='radio'],label.other > input[type='checkbox']", function(){ var target = $(this); target.next().find("input[type='text']").focus(); }) $(document).on("click", "label.other input[type='text']", function(){ var target = $(this); target.parent().prev("input[type='radio'],input[type='checkbox']").attr("checked", true); }) $(document).on("blur", "label.other input[type='text']", function(){ var target = $(this); if( $("input[name='form_lang'][value='en']")[0] ){ if( target.val() == "" ){ target.parent().prev("input[type='radio'],input[type='checkbox']").val("Other"); }else{ target.parent().prev("input[type='radio'],input[type='checkbox']").val("Other : " + target.val()); } }else{ if( target.val() == "" ){ target.parent().prev("input[type='radio'],input[type='checkbox']").val("その他"); }else{ target.parent().prev("input[type='radio'],input[type='checkbox']").val("その他:" + target.val()); } } }) }); });