2016-05-27 13 views
1

私はこのガイドに従ってGoogleフォームに送信するカスタムHTMLフォームを作成しています:https://github.com/heaversm/google-custom-formカスタムHTMLフォームを使用して、複数のフォームフィールドをGoogleフォームに送信することはできますか?

私はフォームを設定しているので、複数のフィールドを動的に追加することができます。データはGoogleフォームに投稿されるので、スプレッドシートに集めることができます。

私は(ほとんど)動作例hereを持っています。

問題は、Googleフォームに送信されるデータの最初のフィールドだけです。追加の行のいずれも取得されません。フォームに投稿されたそれぞれの新しい行を取得する方法を理解する必要があります。私はGoogleフォームは、例えば、URLの提出を経由してPOSTプロセスを処理だと思う主な理由は、作業を終了していなかった、典型的なPOSTの配列を作成しようとしました:これを行うことができる場合

var submitURL = (baseURL + q1ID + "=" + inputq1 + "&" + q2ID + "=" + inputq2 + "&" + q3ID + "=" + inputq3 + "&" + q4ID + "=" + inputq4 + "&" + q5ID + "=" + inputq5 + submitRef); 

誰でも知っていますか?私はまた、このデータをGoogleのスプレッドシートに直接投稿できるかどうかを確認しようとしましたが、見つけたものすべてがフォームを通過する必要があると言いました。

(また、上記のリンクにあります)現在のコードは次のとおりです。ドキュメントを1として

<script> 
    $('.input-form').one('submit',function(){ 

     var inputq1 = encodeURIComponent($('.input-q1').val()); 
     var inputq2 = encodeURIComponent($('.input-q2').val());   
     var inputq3 = encodeURIComponent($('.input-q3').val()); 
     var inputq4 = encodeURIComponent($('.input-q4').val()); 
     var inputq5 = encodeURIComponent($('.input-q5').val()); 

     var q1ID = "entry.287892462"; 
     var q2ID = "entry.1217545570"; 
     var q3ID = "entry.635040236"; 
     var q4ID = "entry.754878743"; 
     var q5ID = "entry.1383378601"; 

     var baseURL = 'http://docs.google.com/forms/d/1KTAnAscJpdN4tPehWlUS00aQhz_y7oPZuoBFrTVUctU/formResponse?'; 
     var submitRef = '&submit=Submit'; 
     var submitURL = (baseURL + q1ID + "=" + inputq1 + "&" + q2ID + "=" + inputq2 + "&" + q3ID + "=" + inputq3 + "&" + q4ID + "=" + inputq4 + "&" + q5ID + "=" + inputq5 + submitRef); 
     console.log(submitURL); 
     $(this)[0].action=submitURL; 
     console.log('Form sent'); 
     alert('yay you did it'); 
    }); 
    </script> 

答えて

0

グーグルから、彼らはあなたが複数のqに&提出したい場合には配列としてデータを受け入れ、HTTPもサポートあなたのURLは次のようにする必要があります。

VAR submitURL =(のbaseURL + "エントリ。[" + q1ID + "] = [" + inputq1 +」] &エントリ。[ "+ q2ID +"] = [ "+ inputq2 +"] &エントリ。[ ["+ q3ID +"] = ["+ q3ID +"] = ["+ inputq3 +"] &エントリー["+ q4ID +"] = ["+ inputq4 +"] &エントリー["+ q5ID +"] = ["+ inputq5 + submitRef] ;

Addition1

<script> 
$('.input-form').one('submit',function(){ 

    var inputq1 = encodeURIComponent($('.input-q1').val()); 
    var inputq2 = encodeURIComponent($('.input-q2').val());   
    var inputq3 = encodeURIComponent($('.input-q3').val()); 
    var inputq4 = encodeURIComponent($('.input-q4').val()); 
    var inputq5 = encodeURIComponent($('.input-q5').val()); 

    var q1ID = "287892462"; 
    var q2ID = "1217545570"; 
    var q3ID = "635040236"; 
    var q4ID = "754878743"; 
    var q5ID = "1383378601"; 

    var baseURL = 'http://docs.google.com/forms/d/1KTAnAscJpdN4tPehWlUS00aQhz_y7oPZuoBFrTVUctU/formResponse?'; 
    var submitRef = '&submit=Submit'; 
    var submitURL = (baseURL + "entry.["+ q1ID +"]=["+ inputq1 +" ]&entry.["+ q2ID +"]=["+ inputq2 +" ]&entry.["+ q3ID +"]=["+ inputq3 +" ]&entry.["+ q4ID +"]=["+ inputq4 +" ]&entry.["+ q5ID +"]=["+ inputq5 + submitRef); 
    console.log(submitURL); 
    $(this)[0].action=submitURL; 
    console.log('Form sent'); 
    alert('yay you did it'); 
}); 

+0

これは便利です、ありがとう。私は配列が正しく設定されているとは思わない - 各行をキャプチャするようにコードの残りの部分をどのように変更するのか知っていますか?メインポストのスクリプトを追加しました – user1519225

関連する問題