第 1 步(共 9 步)

您想融資什麼項目?

您是否與另一位人士一同提出申請?

這是什麼類型的物件?

您將如何使用該物件?

您是否已經有具體的物件?

房產面積

租金收入

財務關鍵數據

個人資料

請選擇…先生女士
請選擇…受僱者自營業者公務員退休人士

第二位人士資料

請選擇…先生女士

如有疑問,我們如何聯絡您?

Finanzirung bewerten (#10)
/* CSS: ОБЩИЕ СТИЛИ */ #finanzierung-quiz-app, #finanzierung-quiz-app * { box-sizing: border-box !important; } .finanzierung-form { max-width: 650px; margin: 0 auto; padding: 30px; background: #fff; } /* СКРЫТИЕ ПО УМОЛЧАНИЮ */ #fluent-container { display: none !important; } #fluent-container.show-form { display: block !important; } .quiz-step { display: none !important; } .quiz-step.active { display: block !important; animation: fadeIn 0.4s ease; } /* ПРОГРЕСС-БАР */ .progress-container { margin-bottom: 30px; } .progress-bar { height: 8px; background: #eee; border-radius: 0; overflow: hidden; } .progress-fill { height: 100%; background: var(–global-palette15, #007cba); width: 0%; transition: width 0.4s ease; } .progress-text { display: block; margin-top: 8px; font-size: 13px; color: #888; text-align: right; } /* ТИПОГРАФИКА И ИНПУТЫ */ .quiz-title { font-size: 26px; font-weight: 700; color: #1a1a1a; margin-bottom: 24px; line-height: 1.2; } .quiz-label { font-weight: 600; font-size: 15px; margin-bottom: 8px; display: block; color: #333; } .quiz-input { width: 100% !important; padding: 16px 20px !important; border: 1px solid var(–global-palette15, #007cba) !important; border-radius: 0 !important; font-size: 16px !important; margin-bottom: 10px; background: #fff; } .quiz-input.error { border-color: #dc3545 !important; background-color: #fff8f8 !important; } /* СЕТКА С ИКОНКАМИ */ .radio-images-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 24px; } .radio-image-label { cursor: pointer; border: 2px solid #e1e5e9; padding: 20px; text-align: center; transition: 0.3s; display: flex; flex-direction: column; align-items: center; justify-content: center; } .radio-image-label input { display: none; } .radio-image-content img { width: 50px; height: 50px; margin-bottom: 12px; filter: grayscale(100%); opacity: 0.5; } .radio-image-content span { display: block; font-size: 14px; font-weight: 600; color: #333; } .radio-image-label:has(input:checked) { border-color: var(–global-palette15, #007cba) !important; background: #f0f7ff; } .radio-image-label input:checked + .radio-image-content img { filter: none; opacity: 1; } /* КНОПКИ */ .btn-row { display: flex !important; gap: 12px !important; margin-top: 24px !important; width: 100% !important; } .btn-row .quiz-btn { flex: 1 !important; } .btn-full-width .quiz-btn { width: 100% !important; margin-top: 24px; } .quiz-btn-primary { background-color: var(–global-palette15, #007cba) !important; color: #fff !important; padding: 18px 24px !important; border: none !important; border-radius: 0 !important; font-size: 16px !important; font-weight: 600 !important; cursor: pointer; } .quiz-btn-secondary { background-color: #6c757d !important; color: #fff !important; padding: 18px 24px !important; border: none !important; border-radius: 0 !important; font-size: 16px !important; font-weight: 600 !important; cursor: pointer; } /* ГРИД ДАННЫХ */ .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; } .form-group.full-width { grid-column: span 2; } .radio-group { display: flex; flex-direction: column; gap: 10px; } .radio-label { border: 1px solid #ddd; padding: 15px; cursor: pointer; display: flex; align-items: center; } .radio-label input { margin-right: 15px; } .radio-label:has(input:checked) { border-color: var(–global-palette15, #007cba); background: #f0f7ff; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } let quizData = {}; let currentStep = 1; let hasSecondPerson = false; let isRental = false; let isFinished = false; function updateUI() { const fill = document.getElementById(‘progress-fill’); const txt = document.getElementById(‘progress-text’); // РАСЧЕТ ОБЩЕГО КОЛИЧЕСТВА ШАГОВ // 9 базовых (1,2,3,4,5,6,8,9 + Финальный) let total = 9; if (isRental) total++; // Шаг 7 if (hasSecondPerson) total++; // Шаг 10 // РАСЧЕТ ТЕКУЩЕГО ВИЗУАЛЬНОГО ШАГА let visualStep = currentStep; // Если мы на финальной форме if (isFinished) { visualStep = total; } else { // Если пропущен шаг 7, корректируем счетчик для шагов после него if (!isRental && currentStep >= 8) visualStep–; } const progress = (visualStep / total) * 100; if(fill) fill.style.width = progress + ‘%’; if(txt) txt.textContent = `Schritt ${visualStep} von ${total}`; } function validateStep(s) { const stepEl = document.getElementById(‘step’ + s); let isValid = true; stepEl.querySelectorAll(‘.quiz-input’).forEach(el => el.classList.remove(‘error’)); const radios = stepEl.querySelectorAll(‘input[type=”radio”]’); if (radios.length > 0) { const name = radios[0].name; if (!stepEl.querySelector(`input[name=”${name}”]:checked`)) isValid = false; } stepEl.querySelectorAll(‘input[type=”number”], input[type=”text”], input[type=”date”], select’).forEach(el => { if (!el.value.trim()) { el.classList.add(‘error’); isValid = false; } }); if (!isValid) alert(“Bitte füllen Sie alle markierten Felder aus.”); return isValid; } function collectData(s) { const stepEl = document.getElementById(‘step’ + s); if(!stepEl) return; stepEl.querySelectorAll(‘input[type=”radio”]:checked’).forEach(el => { quizData[el.name] = el.value; if (el.name === ‘zweite_person’) { hasSecondPerson = (el.value === ‘ja’); updateUI(); // Пересчитываем счетчик сразу при выборе } if (el.name === ‘nutzung’) { isRental = (el.value === ‘vermietung’); updateUI(); // Пересчитываем счетчик сразу при выборе } }); stepEl.querySelectorAll(‘input[type=”number”], input[type=”text”], input[type=”date”], select’).forEach(el => { if(el.id) quizData[el.id] = el.value; }); } function nextStep(s) { if (!validateStep(s)) return; collectData(s); if (s === 6 && !isRental) { showStep(8); } else if (s === 9) { if (hasSecondPerson) showStep(10); else finishQuiz(); } else if (s === 10) { finishQuiz(); } else { showStep(s + 1); } } function prevStep(s) { if (isFinished) { isFinished = false; document.getElementById(‘fluent-container’).classList.remove(‘show-form’); document.getElementById(‘quiz-container’).style.display = ‘block’; if (hasSecondPerson) showStep(10); else showStep(9); return; } if (s === 8 && !isRental) showStep(6); else if (s > 1) showStep(s – 1); } function showStep(s) { document.querySelectorAll(‘.quiz-step’).forEach(el => el.classList.remove(‘active’)); document.getElementById(‘step’ + s).classList.add(‘active’); currentStep = s; updateUI(); window.scrollTo({ top: 0, behavior: ‘smooth’ }); } function finishQuiz() { isFinished = true; document.getElementById(‘quiz-container’).style.display = ‘none’; const fCont = document.getElementById(‘fluent-container’); fCont.classList.add(‘show-form’); updateUI(); setTimeout(() => { const form = fCont.querySelector(‘form’); if (form) { for (let key in quizData) { let input = form.querySelector(`[name=”${key}”]`); if (input) { input.value = quizData[key]; input.dispatchEvent(new Event(‘change’, { bubbles: true })); } } } }, 600); window.scrollTo({ top: 0, behavior: ‘smooth’ }); } document.addEventListener(‘DOMContentLoaded’, updateUI);