是否可以通过自定义HTML表单向Google表单提交多个/重复的表单字段?

时间:2016-05-27 21:06:12

标签: javascript html forms google-sheets google-form

我正在制作一个自定义HTML表单,该表单按照本指南提交给Google表单:https://github.com/heaversm/google-custom-form

我已设置表单,因此可以动态添加多个字段。然后,数据会发布到Google表单中,以便我可以将其收集到电子表格中。

我有一个(几乎)工作的例子here

问题是只有第一个数据字段被发送到Google表单。任何其他行都不会被捕获。我需要弄清楚如何将每个创建的新行发布到表单中。我已经尝试创建一个典型的POST阵列,但最终没有工作,主要是因为我认为Google Forms通过URL提交来处理POST过程,例如:

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

有谁知道这是否可以做到?我还试图查看这些数据是否可以直接发布到Google电子表格中,但我发现的所有内容都说我需要通过表单。

当前代码(也在上面的链接中找到)是:

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

1 个答案:

答案 0 :(得分:0)

根据谷歌的文档,他们接受数据作为数组,以防你想提交多个q&amp; a,http井支持url中的数组,所以你的网址应如下所示。

var submitURL =(baseURL +“entry。[”+ q1ID +“] = [”+ inputq1 +“]&amp; entry。[”+ q2ID +“] = [”+ inputq2 +“]&amp; entry。 [“+ q3ID +”] = [“+ inputq3 +”]&amp; entry。[“+ q4ID +”] = [“+ inputq4 +”]&amp; entry。[“+ 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');
 });