일반 회원가입 파트너 업체 가입 일반 회원 정보 입력 Masters Ocean에 가입하고 최고의 전문가들을 만나보세요. 이름 document.addEventListener(‘DOMContentLoaded’, function() { // 1. Form Toggle Logic const btnCustomer = document.getElementById(‘moToggleCustomer’); const btnProvider = document.getElementById(‘moToggleProvider’); const formCustomer = document.getElementById(‘mo-customer-form’); const formProvider = document.getElementById(‘mo-provider-form’); function switchForm(showProvider) { if (showProvider) { btnProvider.classList.add(‘active’); btnCustomer.classList.remove(‘active’); formProvider.classList.remove(‘hidden’); formCustomer.classList.add(‘hidden’); } else { btnCustomer.classList.add(‘active’); btnProvider.classList.remove(‘active’); formCustomer.classList.remove(‘hidden’); formProvider.classList.add(‘hidden’); } } if (btnCustomer && btnProvider) { btnCustomer.addEventListener(‘click’, () => switchForm(false)); btnProvider.addEventListener(‘click’, () => switchForm(true)); } // 2. Specialty Chips Logic const chipsContainer = document.getElementById(‘moSpecialtyChips’); if (chipsContainer) { const chips = chipsContainer.querySelectorAll(‘.mo-chip’); chips.forEach(chip => { chip.addEventListener(‘click’, function() { // Toggle active array this.classList.toggle(‘active’); }); }); } // 3. Drag and Drop Zone Logic (Visual Feedback & Click to open file dialog) const dropZone = document.getElementById(‘moDropZone’); const fileInput = document.getElementById(‘moFileInput’); if (dropZone && fileInput) { // Trigger file input when clicking the drop zone dropZone.addEventListener(‘click’, () => fileInput.click()); // Handle file selection from dialogue fileInput.addEventListener(‘change’, function() { if(this.files.length > 0) { updateDropZoneText(this.files); } }); // Drag events [‘dragenter’, ‘dragover’, ‘dragleave’, ‘drop’].forEach(eventName => { dropZone.addEventListener(eventName, preventDefaults, false); }); function preventDefaults(e) { e.preventDefault(); e.stopPropagation(); } // Add/Remove visual class [‘dragenter’, ‘dragover’].forEach(eventName => { dropZone.addEventListener(eventName, () => dropZone.classList.add(‘dragover’), false); }); [‘dragleave’, ‘drop’].forEach(eventName => { dropZone.addEventListener(eventName, () => dropZone.classList.remove(‘dragover’), false); }); // Handle dropped files dropZone.addEventListener(‘drop’, function(e) { let dt = e.dataTransfer; let files = dt.files; // Assign dropped files to the file input fileInput.files = files; if(files.length > 0) { updateDropZoneText(files); } }); // Helper to update text based on selection function updateDropZoneText(files) { const mainText = dropZone.querySelector(‘.mo-drop-text-main’); if(files.length === 1) { mainText.textContent = files[0].name; } else { mainText.textContent = `${files.length}개의 파일이 첨부되었습니다.`; } } } });