Objek acara onSubmit kosong di skrip Google
Saya memiliki formulir Google yang ditautkan ke lembar Google. Dalam spreadsheet itu saya memiliki kode yang memiliki ini
function onSubmit(e){
Logger.log(e)
Logger.log("Call onSubmit")
}
Pemicunya diatur sebagai berikut
Project: Spreadsheet's scritp
Deployment:Head
Event:From spreadsheet - On form submit
Function:onSubmit
Jadi setiap kali saya mengirimkan formulir, log akan muncul
[object Object]
Call onSubmit
Formulir memiliki banyak pertanyaan, bukan formulir kosong. Saat saya membaca dokumentasinya, sepertinya objek event memiliki banyak informasi. Apakah ada yang salah dengan penyiapan saya? Saya terpaksa membaca tanggapan di lembar data tetapi itu tidak ideal. Terlalu banyak hal yang harus dipanggil dan / atau ditentukan secara manual.
Jawaban
Logger bermasalah dan tidak disarankan untuk mengandalkan langsung pada apa yang Anda lihat di debugger.
Praktik terbaik:
Selalu gunakan
consolekelas, bukanLoggerSelalu
JSON.stringify()apa pun yang akan Anda catat:console.log(JSON.stringify(e));
Yang terakhir harus memperbaiki masalah Anda. [object Object]adalah hasil dari pemanggilan toString()objek, karena pencatat tidak mampu menampilkan objek secara langsung.
const obj = {a:1};
console.log(obj.toString());//[object Object]
console.log(JSON.stringify(obj));//'{"a":1}'
Tidak seperti kebanyakan debugger browser, logger skrip aplikasi Google hanya akan menyimpan nilai string dasar. Dalam kebanyakan kasus, ini berarti bahwa dokumentasi akan lebih berguna untuk memahami nilai-nilai kompleks. Dalam kasus Anda, objek acara untuk acara pengiriman cukup sederhana, dengan valueskunci untuk larik sederhana dan namedValueskunci untuk pencarian objek dari apa yang telah dikirimkan.