'
.replace('__PLACEHOLDER__', institutionIds);
bulkInquiryFormContainer.innerHTML = formHtml;
bulkInquiryModal.style.display = 'flex';
// Re-attach form submit handler
const form = bulkInquiryFormContainer.querySelector('form');
if (form) {
form.addEventListener('submit', handleBulkFormSubmit);
}
});
function handleBulkFormSubmit(e) {
e.preventDefault();
const btn = this.querySelector('button[type="submit"]');
btn.disabled = true;
const originalText = btn.textContent;
btn.textContent = '送信中...';
const data = new FormData(this);
data.append('action', 'techro_submit_bulk_consultation');
const selected = Array.from(checkboxes).filter(cb => cb.checked);
const institutionIds = selected.map(cb => cb.dataset.institutionId);
data.append('institution_ids', JSON.stringify(institutionIds));
fetch('https://gaisai-portal.techro.co.jp/wp-admin/admin-ajax.php', { method: 'POST', body: data })
.then(r => r.json())
.then(res => {
const msg = bulkInquiryFormContainer.querySelector('.institution-auth-message');
if (res.success) {
this.style.display = 'none';
msg.textContent = res.data || '相見積もりのお申し込みを ' + selected.length + '機関に送信しました。';
msg.className = 'institution-auth-message is-success';
msg.style.display = 'block';
setTimeout(() => {
bulkInquiryModal.style.display = 'none';
checkboxes.forEach(cb => { cb.checked = false; });
updateBulkBar();
}, 2000);
} else {
msg.textContent = res.data || '送信に失敗しました。';
msg.className = 'institution-auth-message is-error';
msg.style.display = 'block';
btn.disabled = false;
btn.textContent = originalText;
}
})
.catch(() => {
const msg = bulkInquiryFormContainer.querySelector('.institution-auth-message');
msg.textContent = '通信エラーが発生しました。';
msg.className = 'institution-auth-message is-error';
msg.style.display = 'block';
btn.disabled = false;
btn.textContent = originalText;
});
}
})();