// ContactFormRight.jsx const { useState, useEffect } = React; const ContactFormRight = () => { const [currentStep, setCurrentStep] = useState(1); const [isSubmitting, setIsSubmitting] = useState(false); const [formData, setFormData] = useState({ budget: '', deadline: '', purpose: [], referenceVideo: '', message: '', name: '', nameKana: '', company: '', email: '', phone: '' }); // reCAPTCHA v3用のhandleSubmit関数 const handleSubmit = () => { // バリデーション(簡易版) if (!formData.name || !formData.email || !formData.phone) { alert("必須項目を入力してください"); return; } setIsSubmitting(true); // reCAPTCHA v3を実行 grecaptcha.ready(function() { grecaptcha.execute('6LfV3PAqAAAAALjtwxbE6NTJduzTH0k-JWc-7YVp', {action: 'submit'}) .then(function(token) { // フォーム送信処理 submitForm(token); }); }); }; // フォーム送信関数 const submitForm = (captchaToken) => { // 実際のフォーム要素を作成 const form = document.createElement('form'); form.method = 'POST'; form.action = '/lp/send_mail.php'; form.style.display = 'none'; // フォームデータを追加 Object.entries(formData).forEach(([key, value]) => { const input = document.createElement('input'); input.type = 'hidden'; input.name = key; if (Array.isArray(value)) { input.value = value.join(', '); } else { input.value = value; } form.appendChild(input); }); // reCAPTCHAの応答を追加 const recaptchaInput = document.createElement('input'); recaptchaInput.type = 'hidden'; recaptchaInput.name = 'g-recaptcha-response'; recaptchaInput.value = captchaToken; form.appendChild(recaptchaInput); // リダイレクト先の設定 const redirectInput = document.createElement('input'); redirectInput.type = 'hidden'; redirectInput.name = 'redirect'; redirectInput.value = 'thanks.html'; form.appendChild(redirectInput); // フォームを本文に追加して送信 document.body.appendChild(form); form.submit(); };; // ステップ1: 動画の内容 const renderStep1 = () => (
{"3STEPで簡単入力!"}
{/* ステップインジケーター */}{"検討ご予算"}
{/* {"必須"} */}{"ご希望の納期"}
{"必須"}{"動画の用途"}
{"必須"}{"参考動画"}
setFormData({...formData, referenceVideo: e.target.value})} style={{width: "100%", padding: "10px", border: "1px solid #ccc", borderRadius: "4px"}} />{"お問い合わせ内容"}
{"3STEPで簡単入力!"}
{/* ステップインジケーター */}{"ご担当者名"}
{"必須"}{"ふりがな"}
{/* {"必須"} */}{"会社名"}
{"必須"}{"メールアドレス"}
{"必須"}{"お電話番号"}
{"必須"}{"3STEPで簡単入力!"}
{/* ステップインジケーター */}{"内容を確認次第、担当者よりご連絡いたします。"}