var Webflow = Webflow || []; Webflow.push(function() { // display error message function displayError(message) { hideLoading(); failureMessage.innerText = message; failureMessage.style.display = 'block'; } // hiding the loading indicator function hideLoading() { showForm(); successMessage.style.display = 'none'; } // hide the form function hideForm() { form.style.display = 'none'; } // show the loading indicator function showLoading() { hideForm(); successMessage.style.display = 'block'; } // show the form function showForm() { form.style.display = 'block'; } // listen for xhr events function addListeners(xhr) { xhr.addEventListener('loadstart', showLoading); } // add xhr settings function addSettings(xhr) { xhr.timeout = requestTimeout; } // triggered form submit function triggerSubmit(event) { // prevent default behavior form submit behavior event.preventDefault(); // setup + send xhr request let formData = new FormData(event.target); let xhr = new XMLHttpRequest(); xhr.open('POST', event.srcElement.action); addListeners(xhr); addSettings(xhr); xhr.send(formData); // capture xhr response xhr.onload = function() { if (xhr.status === 302) { let data = JSON.parse(xhr.responseText); window.location.assign(event.srcElement.dataset.redirect + data.slug); } else { displayError(errorMessage); } } // capture xhr request timeout xhr.ontimeout = function() { displayError(errorMessageTimedOut); } } // replace with your form ID const form = document.getElementById('profile-form'); // set the Webflow Error Message Div Block ID to 'error-message' let failureMessage = document.getElementById('error-message'); // set the Webflow Success Message Div Block ID to 'success-message' let successMessage = document.getElementById('success-message'); // set request timeout in milliseconds (1000ms = 1second) let requestTimeout = 10000; // error messages let errorMessageTimedOut = 'Oops! Seems this timed out. Please try again.'; let errorMessage = 'Oops! Something went wrong. Please try again.'; // capture form submit form.addEventListener('submit', triggerSubmit); });

ZeroDemoがあなたの開発をサポートします

・アプリ開発無料相談
・お見積もり
・その他サービスについてのお問い合わせ
フォームの送信後、担当者より通常1営業日 以内にご返信させていただきます。
見積もりシミュレーター
簡単な項目に答えるだけで
開発時の金額がすぐにわかります!
ZeroDemoブログ
開発時の悩み、開発費用など
よくある質問をまとめています
必須
必須
会社名
任意
メールアドレス
必須
電話番号
必須
お問い合わせ種別
必須
お問合せありがとうございます。
入力内容をご確認ください。
※営業目的でのお問い合わせはご遠慮ください。
上記フォームへ必要事項をご記入の上、送信をお願いいいたします。