Consultation — 実装サポート
処方箋を、実際に動かす
ARIAが「何をすべきか」を教えてくれました。次は「誰が実装するか」です。
HAI-5のエンジニアが、あなたの環境に合わせて直接サポートします。相談は完全無料です。
✓
Starter
€800 / 単発
- 2h オンライン診断セッション
- 実装優先度ロードマップ
- ツール選定・コスト試算
- 1週間メールサポート
✓
最も選ばれています
Standard
€2,000 / プロジェクト
- Starterの全内容
- AI機能 1件フル実装
- 既存システムへの統合
- 1ヶ月保守サポート
✓
Premium
€5,000 / プロジェクト
- Standardの全内容
- AI機能 複数件実装
- 専用ダッシュボード構築
- 3ヶ月保守 + 週次MTG
;
const UI_SEND_ERROR = ;
const UI_SUCCESS_H3 = ;
const UI_SUCCESS_P = ;
const UI_RX_APPEND = ;
const UI_SVC_FALLBACK = ;
document.getElementById('successH3').textContent = JSON.parse(document.getElementById('uiSuccessH3').textContent);
document.getElementById('successP').innerHTML = JSON.parse(document.getElementById('uiSuccessP').textContent);
document.getElementById('consultForm').addEventListener('submit', async function(e) {
e.preventDefault();
const btn = document.getElementById('submitBtn');
btn.textContent = JSON.parse(document.getElementById('uiSending').textContent);
btn.disabled = true;
const recipeId = document.getElementById('frecipe').value;
const rxAppend = JSON.parse(document.getElementById('uiRxAppend').textContent);
const svcFallback = JSON.parse(document.getElementById('uiSvcFallback').textContent);
const serviceVal = document.getElementById('fservice').value || svcFallback;
const messageVal = document.getElementById('fmessage').value +
(recipeId ? `${rxAppend}${recipeId}` : '');
const data = new FormData();
data.append('csrfmiddlewaretoken', document.querySelector('[name=csrfmiddlewaretoken]').value);
data.append('name', document.getElementById('fname').value);
data.append('email', document.getElementById('femail').value);
data.append('service', serviceVal);
data.append('message', messageVal);
try {
const res = await fetch('/contact/submit/', { method: 'POST', body: data });
const json = await res.json();
if (json.ok) {
document.getElementById('consultForm').style.display = 'none';
document.getElementById('successMsg').style.display = 'block';
} else {
throw new Error(json.error || 'error');
}
} catch(err) {
btn.textContent = JSON.parse(document.getElementById('uiSendError').textContent);
btn.style.background = '#c03820';
btn.disabled = false;
}
});