2016-05-27 4 views
1

Ich mache eine benutzerdefinierte HTML-Form, die nach dieser Anleitung zu Google Forms übermittelt: https://github.com/heaversm/google-custom-formIst es möglich, mehrfache/doppelte Formularfelder über ein benutzerdefiniertes HTML-Formular an Google Forms zu senden?

Ich habe die Form so mehr Felder einrichten können dynamisch hinzugefügt werden. Die Daten werden dann in einem Google-Formular veröffentlicht, sodass ich sie in einer Tabelle erfassen kann.

Ich habe ein (fast) funktionierendes Beispiel here.

Das Problem ist nur das erste Datenfeld wird an Google Formulare gesendet. Jede der zusätzlichen Zeilen wird nicht erfasst. Ich muss herausfinden, wie jede neue Zeile, die erstellt wird, in das Formular geschrieben wird. Ich habe versucht, einen typischen POST-Array zu schaffen, die nicht am Ende arbeitet, vor allem, weil ich denke, Google Forms den POST-Prozess via URL Vorlage behandelt, zum Beispiel:

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

Wer weiß, ob dies getan werden kann? Ich habe auch versucht zu sehen, ob diese Daten direkt in einer Google-Tabelle veröffentlicht werden können, aber alles, was ich gefunden habe, sagte ich muss ein Formular durchlaufen.

Der aktuelle Code (auch oben auf den Link gefunden) ist:

<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> 

Antwort

0

Per Dokumentation von Google sie die Daten als Array in Fall akzeptieren Sie mehrere q & ein, und http gut unterstützt einreichen möchten Arrays in URL, so sollte Ihre URL wie folgt sein.

var submitURL = (baseURL + "Eintrag. [" + Q1ID + "] = [" + inputq1 +“] & Eintrag. [ "+ Q2ID +"] = [ "+ inputq2 +"] & Eintrag. [ "+ q3ID +"] = ["+ inputq3 +"] & Eintrag. ["+ q4ID +"] = ["+ inputq4 +"] & Eintrag. ["+ 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

Dies ist nützlich, danke. Ich glaube nicht, dass ich mein Array richtig eingerichtet habe - weißt du, wie ich den Rest des Codes so modifizieren würde, dass er jede Reihe erfasst? Ich habe das Skript des Hauptposts hinzugefügt – user1519225