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

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

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

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

JavaScript

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

HTML

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

Q&A

解決済

1回答

2311閲覧

gasへhtmlからのデータ受け渡し

tomato123

総合スコア11

Google Apps Script

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

JavaScript

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

HTML

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

0グッド

1クリップ

投稿2018/03/09 08:53

前提・実現したいこと

html内の以下のデータをgasに値を受け渡ししたい。
①Formの値
②jsのnavigator.geolocation.getCurrentPositionの緯度と経度の値(

gasとhtmlをベースに現在地の緯度経度情報を含んだ、タイムカードを作成したいと考えています。
gas→html呼び出し→form内容をgasへ値の受け渡しまではできているのですが、
jsで取得した緯度と経度の値をどのようにgasへ渡せば良いのか悩んでいます。

よろしくお願いいたします。

■ ■ ■ ■ ■ ■ html側 ■ ■ ■ ■ ■ ■

html

1<!DOCTYPE html> 2<html> 3 <head> 4 <base target="_top"> 5 <script> 6 function preventFormSubmit() { 7 var forms = document.querySelectorAll('form'); 8 for (var i = 0; i < forms.length; i++) { 9 forms[i].addEventListener('submit', function(event) { 10 event.preventDefault(); 11 }); 12 } 13 } 14 window.addEventListener('load', preventFormSubmit); 15 16 function handleFormSubmit(formObject) { 17 google.script.run.withSuccessHandler().processForm(formObject); 18 } 19 20 // 現在地取得処理 21 function getPosition() { 22 // 現在地を取得 23 navigator.geolocation.getCurrentPosition( 24      function(position) { 25 var ido = position.coords.latitude 26 var keido =position.coords.longitude 27 } 28 } 29 </script> 30 31</head> 32<body> 33<div class = container> 34 <form onsubmit="handleFormSubmit(this)"> 35 <table align = center class = teble1> 36 <tbody> 37 38 <tr> 39 <th>項目1</th> 40 <td> 41 <input type= text name="i1" > 42 </td> 43 </tr> 44 45 </table><!-- end table --> 46 <input type="submit" value="送信" > 47 </form> 48 </div> 49</body> 50</html>

■ ■ ■ ■ ■ ■ gs側 ■ ■ ■ ■ ■ ■

Google

1function doGet() { 2 var html = HtmlService.createTemplateFromFile('report'); 3 return html.evaluate(); 4} 5 6function processForm(formObject) { 7 'フォーム内のデータ' 8 var val2 = formObject.i1; //項目1 9 10 11 var ss = SpreadsheetApp.openById("***"); 12 var sh = ss.getSheetByName("***"); 13 14 'Row/Column' 15 var lastRow = sh.getLastRow(); 16 var lastColumn = sh.getLastColumn(); 17 18 var now = new Date(); 19 sh.getRange(lastRow+1,1).setValue(Utilities.formatDate(now, 'Asia/Tokyo', 'yyyy/MM/dd HH:mm:ss')); 20 sh.getRange(lastRow+1,2).setValue(val1); 21} 22 23

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

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

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

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

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

guest

回答1

0

自己解決

HTML

1<!--以下を緯度経度宣言下に追加--> 2google.script.run.withSuccessHandler().position(ido,keido)

gas側に
position関数を作り、引数で渡せばよいだけでした。

投稿2018/03/12 10:24

tomato123

総合スコア11

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問