彰化一整天的論壇

 找回密碼
 立即註冊
查看: 1494|回復: 0

Google表單偵錯版本

[複製鏈接]
發表於 2020-9-3 17:57:57 | 顯示全部樓層 |閱讀模式
本帖最後由 imingho 於 2020-9-7 10:43 編輯

之前寫的表單範例,很多網友會發現金額無計算,通常是欄位設定後有修改,讀取造成無法計算,或是欄位中多了空白,或是欄位中有使用到單引號造成讀取錯誤,所以就改了這個偵錯版本,方便找到問題。
google_form_20200907_01.jpg


  1. function autoSendmail(data) {
  2.   var subject = "彰化一整天訂購物網 表單自動通知", // 信件標題
  3.       emailTitle = "電子郵件地址", // 表單中收件者 email 這個項目的標題
  4.       namedValues = data.namedValues,
  5.       values=data.values,      
  6.       notifyEmail = namedValues[emailTitle] ? namedValues[emailTitle][0]:"" ,
  7.       html = "";
  8.   
  9.   //設定產品價格
  10.   var price={"羊奶冰棒20枝(全部原味,500元含運費)":500,"羊奶冰棒20枝(全部紅豆,500元含運費)":500,"羊奶冰棒20枝(紅豆原味各半,500元含運費)":500,
  11.              "雞精原味12包(1660元含運費)":1660,"雞精粉光12包(1960元含運費)":1960,"雞精12包(1960元含運費)":1960,"雞精粉光24包(3600元含運費)":3600,
  12.              "雞精人參24包(3600元含運費)":3600};

  13.   var money=0;
  14.   
  15.   var n=data.values.length;
  16.   
  17.   var fields="";
  18.   
  19.   var field=["時間戳記","電子郵件地址","請問您想購買的產品","羊奶冰棒20枝(全部原味,500元含運費)","羊奶冰棒20枝(全部紅豆,500元含運費)"
  20.              ,"羊奶冰棒20枝(紅豆原味各半,500元含運費)","雞精原味12包(1660元含運費)","雞精粉光12包(1960元含運費)","雞精12包(1960元含運費)",
  21.              "雞精粉光24包(3600元含運費)","雞精人參24包(3600元含運費)","指定配送時間","您的姓名","性別","聯絡電話","寄送地址","其他說明"];
  22.   
  23.   
  24.   var i,j;

  25.   //顯示欄位名稱
  26.   show_field(namedValues,price);
  27.   
  28.   for (i = 0; i < n; i++) {
  29.     v= namedValues[field[i]] ? namedValues[field[i]][0]:"" ;
  30.     if(v!="")//有輸入的資料才顯示
  31.     {
  32.       html+=field[i]+":"+v+"<br/>";
  33.       if(price[field[i]]!=undefined) //有價格才計算
  34.           {
  35.         money+=price[field[i]]*Number(v);      
  36.           }
  37.      }
  38.   }
  39.   
  40.   html+="您總共購買"+money+"元<br/>";
  41.   
  42.             
  43.   MailApp.sendEmail({
  44.     to: notifyEmail,
  45.     subject: subject,
  46.     htmlBody: html
  47.   });
  48.   
  49. }

  50. function show_field(namedValues,price)
  51. {
  52.   fields="";
  53.   Object.keys(namedValues).forEach(function(key) {
  54.     if(namedValues[key]!="")//有輸入的資料才顯示
  55.     {
  56.           if(price[key]!=undefined) //價格欄位變()
  57.                 fields+="("+key+"):("+namedValues[key]+")\n";
  58.           else
  59.             fields+="["+key+"]:["+namedValues[key]+"]\n";
  60.     }
  61.    
  62.   });  
  63.   Logger.log(fields);
  64.   
  65. }

複製代碼



回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)

GMT+8, 2021-10-19 08:17 , Processed in 0.110680 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表