2017-04-27 24 views
0

私はGoogleフォームにフォーム応答を送信して、感謝のページにリダイレクトします。 Googleスクリプトは、ユーザーを直接レポートページにリダイレクトします。私は、Googleのリダイレクトと私の場所をドロップしたい。ajaxでフォーム送信をリダイレクト

フォーム:

<form method="post" id="formID" action="gscript"> 
... 
</form> 

スクリプト:

<script> 
    $(document).on('submit', '.formID', function(e) { 
    $.ajax({ 
     url: $(this).attr('action'), 
     type: $(this).attr('method'), 
     data: $(this).serialize(), 
     success: function(html) { 
     alert('ok'); 
     window.location("Thanks page link"); 
     } 
    }); 
    e.preventDefault(); 

}); 
</script> 
+1

'.formID'は'#formID'であってはなりませんか? – manelgarcia

+0

いいえ、x) – Kapparina

+0

まだ動作しません。 : – David

答えて

0

要求がうまく、成功し、終了したときに呼び出される.success()コールバック関数を追加します。この機能では、あなたにありがとう、あなたにリダイレクトしてください。すべての変更の

$.ajax({ 
    url: $(this).attr('action'), 
    ... 
    success: function(result) { 
     // result unused, drop it if you want :) 
     window.location.replace('url_to_your_thank_you_page'); 
    } 
}); 
+0

彼はすでに1つを持っています –

+0

うわー、 – Kapparina

+0

画面の前であまりにも多くのコーヒーと時間が、私たちすべてに起こる:) –

0

まずこの$(document).on('submit', '.formID', function(e) {この$(document).on('submit', '#formID', function(e) {へ:このように

。あなたのコメント次

$('#formID').submit(function(e) { 
    e.preventDefault(); 
    $.ajax({ 
     url: $(this).attr('action'), 
     type: $(this).attr('method'), 
     data: $(this).serialize(), 
     success: function(html) { 
      alert('ok'); 
      window.location("Thanks page link"); 
     } 
    }); 
}); 

EDIT
、私はgscriptのAPIに精通していないんだけど、多分起動しますbuttonを配置することを検討:
ajax呼び出しの前に、上にこの行e.preventDefault();を配置してみてくださいあなたの機能を問題にする$('#myForm').submit()

+0

うまくいきませんが、ありがたいです。 :) – David

+0

私は私の答えを試してみました '$( '#formID')。submit'。何がうまくいかないとエラーが出ますか? –

+0

アクションとしてGoogleスクリプトを使用すると、送信ボタンはレポートページに送信されます。それは問題ではなく、まだエラーなしで入るスクリプトのようなものです。 – David

関連する問題