2016-07-27 37 views
0

我想通過使用AJAX將數據從HTML表單拖入Google表單。我已經得到它與所有類型的輸入工作正常除了複選框。我已經得到它返回檢查的第一個值,但不是所有值檢查。如何將帶有複選框的HTML表單中的數據添加到Google電子表格中?

下面的標記和腳本的相關部分。條目號和表單URL是正確的。

<input type="checkbox" class="cb1" value="Scholarship1">Scholarship 1<br> 
<input type="checkbox" class="cb1" value="Scholarship2">Scholarship 2<br> 
<input type="checkbox" class="cb1" value="Scholarship3">Scholarship 3 

<script type="text/javascript"> 
     function postToGoogle() { 


      var formData = { 
       "entry.1226541462": $('.cb1').val() 
      }; 

      $.ajax({ 
       url: "https://docs.google.com/forms/d/1SqNCVpcZJ4N3huh8SrkU_uWuHFEBb2nCQXgUz3stI/formResponse", 
       data: formData, 
       type: "POST", 
       dataType: "xml", 
       statusCode: { 
        0: function() { 
         window.location.replace("thanks.html"); 
        }, 
        200: function() { 
         window.location.replace("thanks.html"); 
        } 
       } 
      }); 
     } 

     $(document).ready(function(){ 
      $('.form').submit(function() { 
       postToGoogle(); 
       return false; 
      }); 
     }); 
    </script> 
+0

你準備提交什麼?將數據發佈到給定列/行的電子表格中? 如果您有多個值,您將如何發送數據?逗號分隔,JavaScript數組等? – Orpheus

回答

0

這裏是你如何讓所有的檢查值到一個數組:

var yourArray = []; 

//I think this selector is correct, but veri 
$("input:checkbox.cb1:checked").each(function(){ 
    yourArray.push($(this).val()); 
}); 

//If comma-delimited string. 
var valueToSend = yourArray.join(); 

我不完全知道的API,所以我假設谷歌牀單接受一個逗號分隔的數組。

+0

然後,只需將formData變量更改爲: var formData = { 「entries.1226541462」:valueToSend }; 爲了發送數組到谷歌? – ThomJrJr

+0

我在這裏做一個假設。檢查他們的API文檔,因爲我無法判斷您是否打算髮布到表格或表單。 – Orpheus

相關問題