前提・実現したいこと
GASでファイルをGoogleDriveにアップロードする機能を開発しようとしています。
発生している問題・エラーメッセージ
google.script.runでサーバーサイドの関数を呼び出す際にFormオブジェクトを渡していますが、Formオブジェクトを渡すとなぜか関数が呼び出されません。試しにテキストを渡してみると問題なく呼び出せます。どこかコードに間違いがありますでしょうか。よろしくお願い致します。
該当のソースコード
GAS
1// コード.gs 2function shiftDataUpload() { 3 var html = HtmlService.createHtmlOutputFromFile('index'); 4 SpreadsheetApp.getUi().showModalDialog(html, 'シフトデータ取込'); 5} 6 7// シフトデータをGoogleドライブにアップロードする 8function uploadShiftData(formObj){ 9 //ここはテストのため、メッセージボックスを表示するだけにしていますが、本来はアップロードのロジック 10 Browser.msgBox("成功"); 11} 12 13// index.html 14<!DOCTYPE html> 15<html> 16 <head> 17 <base target="_top"> 18 <script> 19 function uploadFile(formObj){ 20 //GASの関数を呼び出す 21 google.script.run.uploadShiftData(formObj); 22 } 23 </script> 24 </head> 25 <body> 26 <form id="importFile" onsubmit="uploadFile(this)" enctype="multipart/form-data"> 27 <input name="importFile" type="file"/><br><br> 28 <button type="submit" class="action">取込開始</button> 29 </form> 30 </body> 31</html>
試したこと
①google.script.run.uploadShiftData(formObj)をgoogle.script.run.uploadShiftData()に変更
⇒「成功」のメッセージが表示された
②google.script.run.uploadShiftData(formObj)をgoogle.script.run.uploadShiftData("TEST")に変更
⇒「成功」のメッセージが表示された
③google.script.run.uploadShiftData(formObj)で実行
⇒何も表示されず、最初に表示されたダイアログボックスが表示されたまま。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。