我正在制作一个自定义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>
答案 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');
});