GiniGen AI Claude Fable 5 commited on
Commit
d6ea0ef
·
1 Parent(s): 07e81be

fix: PoC 문의 폼 실전송 복구 — Formspree 플레이스홀더 제거

Browse files

- YOUR_FORM_ID 상태로 배포되어 문의가 유실되던 결함 수정
- 자체 접수 API(ginigen-marketing-agency.hf.space/api/contact)로 교체
- 회신용 이메일 필드 신설(기존 폼에 부재), 접수 상태 안내 문구 추가

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Files changed (1) hide show
  1. ax.html +51 -4
ax.html CHANGED
@@ -162,7 +162,7 @@
162
  <h2 class="section-heading">PoC 사전 신청 · 견적 문의.</h2>
163
  <p class="section-sub">진단 대상 모델·서비스 규모·희망 일정을 알려주시면 담당자가 24시간 내 회신드립니다. 이메일은 <a href="mailto:contact@ginigen.net" style="color:var(--accent-cyan);">contact@ginigen.net</a>.</p>
164
 
165
- <form class="contact-form" action="https://formspree.io/f/YOUR_FORM_ID" method="POST">
166
  <div class="form-row">
167
  <label class="form-field">
168
  <span class="form-label">이름<span class="req">*</span></span>
@@ -174,6 +174,11 @@
174
  </label>
175
  </div>
176
 
 
 
 
 
 
177
  <label class="form-field">
178
  <span class="form-label">LLM 종류<span class="req">*</span></span>
179
  <select name="llm_type" required>
@@ -192,16 +197,58 @@
192
  <textarea name="message" rows="6" required placeholder="진단 대상 모델·서비스 규모·희망 일정 등 자유롭게 작성해주세요."></textarea>
193
  </label>
194
 
195
- <input type="hidden" name="_subject" value="[지니젠AI · ginigen.net] AX 종합병원 PoC 문의">
196
  <input type="text" name="_gotcha" style="display:none" tabindex="-1" autocomplete="off">
197
 
198
- <button type="submit" class="btn btn-primary form-submit">
199
  ✉ PoC 신청 보내기
200
  </button>
 
201
  <div class="form-note">
202
- 제출 시 Formspree를 통해 contact@ginigen.net 으로 전달됩니다. 영업·마케팅 외 목적의 무단 수집은 차단됩니다.
203
  </div>
204
  </form>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
  </section>
206
  </div>
207
  </div>
 
162
  <h2 class="section-heading">PoC 사전 신청 · 견적 문의.</h2>
163
  <p class="section-sub">진단 대상 모델·서비스 규모·희망 일정을 알려주시면 담당자가 24시간 내 회신드립니다. 이메일은 <a href="mailto:contact@ginigen.net" style="color:var(--accent-cyan);">contact@ginigen.net</a>.</p>
164
 
165
+ <form class="contact-form" id="poc-form">
166
  <div class="form-row">
167
  <label class="form-field">
168
  <span class="form-label">이름<span class="req">*</span></span>
 
174
  </label>
175
  </div>
176
 
177
+ <label class="form-field">
178
+ <span class="form-label">회신받을 이메일<span class="req">*</span></span>
179
+ <input type="email" name="email" required placeholder="you@company.com" autocomplete="email">
180
+ </label>
181
+
182
  <label class="form-field">
183
  <span class="form-label">LLM 종류<span class="req">*</span></span>
184
  <select name="llm_type" required>
 
197
  <textarea name="message" rows="6" required placeholder="진단 대상 모델·서비스 규모·희망 일정 등 자유롭게 작성해주세요."></textarea>
198
  </label>
199
 
 
200
  <input type="text" name="_gotcha" style="display:none" tabindex="-1" autocomplete="off">
201
 
202
+ <button type="submit" class="btn btn-primary form-submit" id="poc-submit">
203
  ✉ PoC 신청 보내기
204
  </button>
205
+ <div class="form-note" id="poc-status" role="status"></div>
206
  <div class="form-note">
207
+ 제출 내용은 지니젠AI 접수 스템(비공개 저장소)에 저장되며 담당자가 24시간 내 회신드립니다. 영업·마케팅 외 목적의 무단 수집은 차단됩니다.
208
  </div>
209
  </form>
210
+ <script>
211
+ (function(){
212
+ var form = document.getElementById('poc-form');
213
+ var btn = document.getElementById('poc-submit');
214
+ var status = document.getElementById('poc-status');
215
+ form.addEventListener('submit', function(e){
216
+ e.preventDefault();
217
+ btn.disabled = true;
218
+ btn.textContent = '전송 중…';
219
+ status.textContent = '';
220
+ var fd = new FormData(form);
221
+ fetch('https://ginigen-marketing-agency.hf.space/api/contact', {
222
+ method: 'POST',
223
+ headers: {'Content-Type': 'application/json'},
224
+ body: JSON.stringify({
225
+ name: fd.get('name') || '',
226
+ company: fd.get('company') || '',
227
+ email: fd.get('email') || '',
228
+ llm_type: fd.get('llm_type') || '',
229
+ message: fd.get('message') || '',
230
+ source: 'ginigen.net/ax',
231
+ website: fd.get('_gotcha') || ''
232
+ })
233
+ }).then(function(res){ return res.json().then(function(d){ return {ok: res.ok && d.ok, d: d}; }); })
234
+ .then(function(r){
235
+ if(r.ok){
236
+ status.textContent = '✅ ' + (r.d.message || '문의가 접수되었습니다. 24시간 내 회신드리겠습니다.');
237
+ form.reset();
238
+ }else{
239
+ status.textContent = '⚠️ ' + (r.d.message || '전송에 실패했습니다. contact@ginigen.net 으로 보내주세요.');
240
+ }
241
+ })
242
+ .catch(function(){
243
+ status.textContent = '⚠️ 네트워크 오류 — contact@ginigen.net 으로 보내주시면 빠르게 확인하겠습니다.';
244
+ })
245
+ .finally(function(){
246
+ btn.disabled = false;
247
+ btn.textContent = '✉ PoC 신청 보내기';
248
+ });
249
+ });
250
+ })();
251
+ </script>
252
  </section>
253
  </div>
254
  </div>