Googleフォームをカスタマイズして自分のサイト設置しようと考え、こちらのサイトを参考に進めていきました。
しかし、データの送信はできたもののHTMLのrequiredが機能しなくなり、どうやらsubmitすると効かなくなってしまうらしいということがわかりました。
JavaScriptがわからないなりに考え、ダミーのボタンが押されることでデータ送信用のボタンも押される処理を書いたのですが「Uncaught Could not establish connection. Receiving end does not exist.」というエラーが出てしまいました。
データの送信はできるものの、「お問い合わせありがとうございました」というメッセージが出ない状態です。
該当部分のコードは以下の通りです。
HTML
1<div id="form"> 2 <form action="https://docs.google.com/forms/u/0/d/e//formResponse" method="post" name="myForm" class="text-center" target="dummyIframe"> 3 <label>メールアドレス(必須)</label> 4 <p> 5 <input type="email" name="emailAddress" value="" autocomplete="email" required> 6 </p> 7 <label>会社名(必須)</label> 8 <p> 9 <input type="text" name="entry.1987797232" autocomplete="organization" required> 10 </p> 11 <dl class="radioBtn"> 12 <dt>お問い合わせ項目<span>必須</span></dt> 13 <dd> 14 <ul> 15 <li> 16 <input type="radio" name="entry.1302079128" value="ブログについて" id="Male"> 17 <label>ブログ</label> 18 </li> 19 <li> 20 <input type="radio" name="entry.1302079128" value="ホームページについて" id="Female"> 21 <label>ホームページ</label> 22 </li> 23 <li> 24 <input type="radio" name="entry.1302079128" value="その他"> 25 <label>その他</label> 26 </li> 27 </ul> 28 </dd> 29 </dl> 30 <p> 31 <label>お問い合わせ内容(必須)</label> 32 </p> 33 <p> 34 <textarea name="entry.1962979988" placeholder="お問い合わせ内容" required></textarea> 35 </p> 36 <p> 37 <input type="button" value="送信" onclick="sendGform()"> 38 <input type="submit" value="不可視ボタン" style="display:none" name=submitBtn> 39 </p> 40 </form> 41 <iframe name="dummyIframe" style="display:none;"></iframe> 42</div> 43<div id="thxMessage" style="display:none;">お問い合わせありがとうございました。</div> 44 <script> 45 function sendGform(){ 46 $("input[name=submitBtn]").click() 47 } 48 function click() { 49 document.myForm.submit(); 50 document.getElementById('form').style.display = 'none'; 51 document.getElementById('thxMessage').style.display = 'block'; 52 } 53 </script>
コンソールを見たところGoogle側のコードのこの部分にエラーが出ていました。
var Li,hqa,gqa;_.Ki=function(a){_.t.setTimeout(function(){throw a;},0)};_.Mi=function(a){a=gqa(a);!_.Oa(_.t.setImmediate)||_.t.Window&&_.t.Window.prototype&&!_.Dc("Edge")&&_.t.Window.prototype.setImmediate==_.t.setImmediate?(Li||(Li=hqa()),Li(a)):_.t.setImmediate(a)};
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。