初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2018-08-31 17:33:58

koko009
Guest

Webビューアからfunction save() {window.location = 'fmp://$・・で値を取得する方法

何時もお世話になっています。使用環境Windows10 fm17
html文からyolp(yahoo!地図)をWebビューアに表示させマーカーで示された位置の緯度経度をFM側で取得したいと思い下記のコード(かなり省略表示)
<h3>マーカーの緯度経度</h3>
緯度:<input id="lat" type="text" size="25" value="">  経度:<input id="lng" type="text" size="25" value=""><button onclick="save()">copy</button>
</div>   
<script type="text/javascript" charset="utf-8" src="https://map.yahooapis.jp/js/V1/jsapi?appid=【アプリケーションID】"></script> 
<script type="text/javascript">   
window.onload = function(){
var yMap = new Y.Map("map");
yMap.drawMap ( new Y.LatLng(35.66572, 139.73100), 17, Y.LayerSetId.NORMAL );
Y.Event.addListener ( yMap, 'click', putMark);
    ・
    ・
//マーカーの緯度経度情報を結合
  var lat = document.getElementById("lat").value = latlng.lat();
  var lng = document.getElementById("lng").value = latlng.lng();
   var aa=lat+", "+lng;
//
function save() { 
  window.location = 'fmp://$/Web001.fmp12?script=script01&$id='+aa;
}

}
</script>
</body>   
</html> 
のように書きましたが、ボタンクリックで取得できませんでした。単純な
<button onclick="save()">保存</button>
<script type='text/javascript'>
var Val = 'ABC';
function save() {
    window.location = 'fmp://$/Web001.fmp12?script=script01&$id='+Val;
}
なら出来るのですが・・・クリップボードに書き込みさらにフィールドに貼り付ける2段階方法迄はうまくできました、そこで次にこれに挑戦しましたが歯が立ちません。
JavaScriptの問題かもしれませんがご教授お願いします。

#2 2018-08-31 18:29:46

qb_dp
Member

Re: Webビューアからfunction save() {window.location = 'fmp://$・・で値を取得する方法

var aa; をグローバルにして、save() は、window.onload = function(){} の外に記述すれば、動作しますよ。


<script type="text/javascript">   

var aa;

window.onload = function(){

   aa=lat+", "+lng;

function save() { 
  window.location = 'fmp://$/Web001.fmp12?script=script01&$id='+aa;
}
</script>

Offline

#3 2018-08-31 20:14:47

koko009
Guest

Re: Webビューアからfunction save() {window.location = 'fmp://$・・で値を取得する方法

qb_dp様早速の回答有難うございます。
なるほど、var aa; をグローバル・・・最初に
<script type="text/javascript">
var aa;
window.onload = function(){
にしてですか、
window.onload = function(){} の外に記述・・・この部分だけGoogle Maps APIの時も今回の時も試したが・・・頭にvar aa;のグローバルが必要とは!!・・知らないとはいえ汗顔の至り!!
aa=lat+", "+lng;
}
}
function save() {
  window.location = 'fmp://$/Web001.fmp12?script=script01&$id='+aa;
}
</script>
でマーカー位置の緯度経度取得できました。勉強になります。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.014 seconds, 7 queries executed - Memory usage: 506.67 KiB (Peak: 517.8 KiB) ]