質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

2304閲覧

sweetalertにて入力された内容をGASへ送りたい

whitedoragon

総合スコア12

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/07/27 22:33

編集2018/07/27 22:36

前提・実現したいこと

メッセージボックス「sweetalert」のテキストボックスへの入力内容をGASへ送りたいです。

発生している問題・エラーメッセージ

メッセージボックス生成前に取得されている値は送ることができるが
メッセージボックス生成→生成後に入力された値をGASへ送ることができません。

該当のソースコード

【javascript.html】

<script> //移動不可ボタンが押下されたときのアクション //メッセージボックスを生成・入力内容をGASへ送信 function  mgsboxmade(nov) { var id_value = nov.id; // eleのプロパティとしてidを取得(変更するスプレッドシート行数の取得) //移動できない理由を入力するメッセージを表示させる var options = { title: "移動不可", icon: "warning", text: "移動できない理由を入力してください。\n入力内容はスプレッドシートへ送信されます。\n\n\n※空欄のままOKボタンを押下すると\n キャンセルとなります。", content: "input", } // ボタンが押された時の処理 swal(options).then(function (val) {     if (val == null || val == "") { //入力された値が空白・NULL値の場合は何もしないこと } else {     //コード記述ポイント1 //↓ここでVal値とid_value値をGASへ送信したいけどできない・・・・ google.script.run.withSuccessHandler().SendData(id_value,Val); //←これを記述したがこの場合はどちらもGAS取得できない   swal("送信完了", "内容は送信されました", "success"); } }); //コード記述ポイント2  google.script.run.withSuccessHandler().SendData(id_value,Val); //←これだとid_value値しかGAS取得できない } < /script>

【コード.gs】

function SendData(id_value,Val) { //ログ出力 Logger.log(id_value,Val) }

試したこと

当初は、コード記述ポイント1にGAS送信記述したのですがGASにてどちらもログ出力されず
続いてコード記述ポイント2に同様の記述しましたがid_value値のみ出力されました。

おそらく「swal(options).then(function (val) {~」記述内にVal値になんらかの処理をして
コード記述ポイント2にてGAS送信するのではないかと思ったのですが
やり方がわかりませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

当初は、コード記述ポイント1にGAS送信記述したのですがGASにてどちらもログ出力されず

if (val == null || val == "") {の条件にあてはまるとコード記述ポイント1は実行されませんが、そういうことはないのでしょうか。

続いてコード記述ポイント2に同様の記述しましたがid_value値のみ出力されました。

Logger.log(id_value,Val)こういう書きかたをしたとき、GASのLoggerは、id_valueを書式指定文字列、Valを書式に適用する値と理解します。おそらくid_valueは書式指定文字列ではないと思うので、id_valueだけが出力されたようにしか見えません(適切なValが送信されていても、されていなくても)。
面倒でも、Logger.log(id_value);Logger.log(Val);としなければ、そもそも検証が行えません。

今回無関係だと思いますが、書式指定については【GoogleAppsScript】ログ出力(デバッグ目的)などをご参照ください

投稿2018/07/27 23:49

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

whitedoragon

2018/07/28 00:27

ご回答ありがとうございます。 確かに Logger.log(id_value);Logger.log(Val);に変えましたところ どちらも出力されませんでした。。 私の記述内容にかなりの誤りがありましたので、再度書き直して質問させていただきます。 その際に閲覧・ご検証いただけますと助かります。。宜しくお願いします。
whitedoragon

2018/07/28 01:32

今回の自身の質問内容より、papinianusさんからいただきました回答と参照を見ながら 再質問するため、コードを書き直し・記述箇所の変更⇔実行を繰り返していましたところ なんとログ出力(GAS送信)することができました。 下記のとおりとなります。 ●変更点 【javascript.html】 //コード記述ポイント1 google.script.run.withSuccessHandler().SendData(id_value,Val); × ↓ google.script.run.SendData(id_value,val); 〇 //コード記述ポイント2は記述なし 【コード.gs】 Logger.log(id_value,Val) × ↓ Logger.log(id_value); Logger.log(Val); 次回からは、自身の記述コードをちゃんと見直した上で質問したいと思います。 (本当にお手数をおかけしました。。) このたびはありがとうございました。
papinianus

2018/07/28 08:12

見直すきっかけになったのであれば幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問