const cformBaseUrl = '/sokenpaint/cform';
var cformInnerHtml = '';
cformInnerHtml += '
';
cformInnerHtml += '
';
cformInnerHtml += '
';
document.querySelector('div#cform').insertAdjacentHTML('beforeend', cformInnerHtml);
//ボタンでSTEP切り替え、エラーがある場合は切り替えない
(function($) {
$(window).on("load", function() {
if (window.matchMedia('(max-width: 768px)').matches) {
var pos = $('#stepfm').offset().top + 10; //idの上部の距離を取得
} else {
var pos = $('#stepfm').offset().top - 150; //idの上部の距離を取得
}
$('.backbtn1').click(function() {
$('#step1').css('display', 'block');
$('#step2').css('display', 'none');
$('#step3').css('display', 'none');
$('#step4').css('display', 'none');
});
$('.backbtn2').click(function() {
$('#step2').css('display', 'block');
$('#step1').css('display', 'none');
$('#step3').css('display', 'none');
$('#step4').css('display', 'none');
});
$('.backbtn3').click(function() {
$('#step3').css('display', 'block');
$('#step1').css('display', 'none');
$('#step2').css('display', 'none');
$('#step4').css('display', 'none');
});
$('.stepbtn2').click(function() {
$('#step2').css('display', 'block');
$('#step1').css('display', 'none');
$('#step3').css('display', 'none');
$('#step4').css('display', 'none');
$('body,html').animate({ scrollTop: pos }, 0);
});
$('.stepbtn3').click(function() {
$('#step3').css('display', 'block');
$('#step1').css('display', 'none');
$('#step2').css('display', 'none');
$('#step4').css('display', 'none');
$('body,html').animate({ scrollTop: pos }, 0);
});
$('.stepbtn4').click(function() {
$('#step4').css('display', 'block');
$('#step1').css('display', 'none');
$('#step2').css('display', 'none');
$('#step3').css('display', 'none');
$('body,html').animate({ scrollTop: pos }, 0);
});
$('div#cform span.error').hide();
$('select[name="pref').on('change', function() {
/*
var $form = $('select[name="city"]');
$form.empty();
$form.append($('').val('').text('市区町村'));
$.ajax({
url: cformBaseUrl + '/get_cities.php',
type: 'get',
cache: false,
async: false,
data: {
pref: $(this).val()
},
dataType: 'json'
}).done(function(json) {
if (json.data.cities.length > 0) {
for (var index = 0; index < json.data.cities.length; index++) {
var city = json.data.cities[index];
$form.append($('').val(city.name).text(city.name));
}
}
});
*/
});
$('input[name="zip"]').on('blur', function() {
checkZip(true);
});
$('select[name="pref"]').on('blur', function() {
checkPref(true);
});
$('input[name="city"]').on('blur', function() {
checkCity(true);
});
$('input[name="address1"]').on('blur', function() {
checkAddress1(true);
});
$('input[name="name"]').on('blur', function() {
checkName(true);
});
$('input[name="kname"]').on('blur', function() {
checkKname(true);
});
$('select[name="age"]').on('blur', function() {
checkAge(true);
});
$('input[name="email"]').on('blur', function() {
checkEmail(true);
});
$('input[name="tel"]').on('blur', function() {
checkTel(true);
});
$('input[name="email"]').on('blur', function() {
checkEmail(true);
});
$('input[name="tel"]').on('blur', function() {
checkTel(true);
});
$('button.stepbtn2').prop('disabled', true);
$('button.stepbtn3').prop('disabled', true);
$('button.stepbtn4').prop('disabled', true);
$('button#submit').prop('disabled', true);
$('input#youbo2').click(function(){
$('button.stepbtn2').addClass('act');
$('button.stepbtn2').prop('disabled', false);
});
$('input[name="zip"],select[name="pref"],input[name="city"],input[name="address1"]').on('blur', function() {
if (checkZip() && checkPref() && checkCity() && checkAddress1()) {
$('button.stepbtn3').addClass('act');
$('button.stepbtn3').prop('disabled', false);
} else {
$('button.stepbtn3').removeClass('act');
$('button.stepbtn3').prop('disabled', true);
}
});
$('input[name="name"],input[name="kname"],select[name="age"]').on('blur', function() {
if (checkName() && checkKname() && checkAge()) {
$('button.stepbtn4').addClass('act');
$('button.stepbtn4').prop('disabled', false);
} else {
$('button.stepbtn4').removeClass('act');
$('button.stepbtn4').prop('disabled', true);
}
});
$('input[name="email"],input[name="tel"]').on('blur', function() {
if (checkEmail() && checkTel()) {
$('button#submit').addClass('act');
$('button#submit').prop('disabled', false);
} else {
$('button#submit').removeClass('act');
$('button#submit').prop('disabled', true);
}
});
$('form[name="stepfm"]').on('submit', function() {
if (!checkZip() || !checkPref() || !checkCity() || !checkAddress1() || !checkName() || !checkKname() || !checkAge() || !checkEmail() || !checkTel()) {
alert('未入力の項目があります。');
return false;
}
$('input[name="redirect_url"]').val(location.href);
$.ajax({
url: cformBaseUrl + '/get_csrf.php',
type: 'get',
cache: false,
async: false,
dataType: 'json'
}).done(function(json) {
if (json.data.csrf != undefined) {
$('input[name="csrf"]').val(json.data.csrf);
}
});
return true;
});
});
})(jQuery);
function checkZip(isViewError = false) {
var $error = $('span#error-zip');
if (isViewError) {
$error.html('');
$error.hide();
}
var errorMessage = '';
var $form = $('input[name="zip"]');
if ($form.val() == '') {
errorMessage = '▲必須項目です';
} else if (!$form.val().match(/^\d+$/) && !$form.val().match(/^[0123456789]+$/)) {
errorMessage = '▲数字で入力してください';
}
if (errorMessage == '') {
return true;
}
if (isViewError) {
$error.html(errorMessage);
$error.show();
}
return false;
}
function checkPref(isViewError = false) {
var $error = $('span#error-pref');
if (isViewError) {
$error.html('');
$error.hide();
}
var errorMessage = '';
var $form = $('select[name="pref"]');
if ($form.val() == '') {
errorMessage = '▲必須項目です';
}
if (errorMessage == '') {
return true;
}
if (isViewError) {
$error.html(errorMessage);
$error.show();
}
return false;
}
function checkCity(isViewError = false) {
var $error = $('span#error-city');
if (isViewError) {
$error.html('');
$error.hide();
}
var errorMessage = '';
var $form = $('input[name="city"]');
if ($form.val() == '') {
errorMessage = '▲必須項目です';
}
if (errorMessage == '') {
return true;
}
if (isViewError) {
$error.html(errorMessage);
$error.show();
}
return false;
}
function checkAddress1(isViewError = false) {
var $error = $('span#error-address1');
if (isViewError) {
$error.html('');
$error.hide();
}
var errorMessage = '';
var $form = $('input[name="address1"]');
if ($form.val() == '') {
errorMessage = '▲必須項目です';
}
if (errorMessage == '') {
return true;
}
if (isViewError) {
$error.html(errorMessage);
$error.show();
}
return false;
}
function checkName(isViewError = false) {
var $error = $('span#error-name');
if (isViewError) {
$error.html('');
$error.hide();
}
var errorMessage = '';
var $form = $('input[name="name"]');
if ($form.val() == '') {
errorMessage = '▲必須項目です';
}
if (errorMessage == '') {
return true;
}
if (isViewError) {
$error.html(errorMessage);
$error.show();
}
return false;
}
function checkAge(isViewError = false) {
return true;
}
function checkKname(isViewError = false) {
var $error = $('span#error-kname');
if (isViewError) {
$error.html('');
$error.hide();
}
var errorMessage = '';
var $form = $('input[name="kname"]');
if ($form.val() == '') {
errorMessage = '▲必須項目です';
}
if (errorMessage == '') {
return true;
}
if (isViewError) {
$error.html(errorMessage);
$error.show();
}
return false;
}
function checkEmail(isViewError = false) {
var $error = $('span#error-email');
if (isViewError) {
$error.html('');
$error.hide();
}
var errorMessage = '';
var $form = $('input[name="email"]');
if ($form.val() == '') {
errorMessage = '▲必須項目です';
} else if (!$form.val().match(/^[a-zA-Z0-9\"\._\?\+\/-]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/)) {
errorMessage = '▲不正なアドレスです';
}
if (errorMessage == '') {
return true;
}
if (isViewError) {
$error.html(errorMessage);
$error.show();
}
return false;
}
function checkTel(isViewError = false) {
var $error = $('span#error-tel');
if (isViewError) {
$error.html('');
$error.hide();
}
var errorMessage = '';
var $form = $('input[name="tel"]');
if ($form.val() == '') {
errorMessage = '▲必須項目です';
} else if (!$form.val().match(/^\d+$/) && !$form.val().match(/^[0123456789]+$/)) {
errorMessage = '▲数字で入力してください';
}
if (errorMessage == '') {
return true;
}
if (isViewError) {
$error.html(errorMessage);
$error.show();
}
return false;
}