# 他アプリのデータからリンク先を作成したボタン設置について

**URL:** <https://community.cybozu.dev/t/topic/2245>\
**Category:** kintone 開発相談\
**Created:** [2015 年 12 月 28 日午前 9:00 UTC](https://community.cybozu.dev/t/topic/2245 "2015-12-28T09:00:20Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account1877](https://avatars.discourse-cdn.com/v4/letter/l/5daacb/32.png) [@Legacy\_Account1877](https://community.cybozu.dev/u/Legacy_Account1877)\
**Post date:** [2015 年 12 月 28 日午前 9:00 UTC](https://community.cybozu.dev/t/topic/2245/1 "2015-12-28T09:00:20Z")

</div>

いつもお世話になっております。

第3回 レコード詳細にもボタンを設置しよう！

[https://cybozudev.zendesk.com/hc/ja/articles/201952870-%E7%AC%AC3%E5%9B%9E-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E8%A9%B3%E7%B4%B0%E3%81%AB%E3%82%82%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E8%A8%AD%E7%BD%AE%E3%81%97%E3%82%88%E3%81%86-](https://cybozudev.zendesk.com/hc/ja/articles/201952870-%E7%AC%AC3%E5%9B%9E-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E8%A9%B3%E7%B4%B0%E3%81%AB%E3%82%82%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E8%A8%AD%E7%BD%AE%E3%81%97%E3%82%88%E3%81%86-)

を参考にして、下記のプログラムを作成しようとしました。

流れとしましては、

①他のアプリよりリンク先のメールアドレスを取得

②ボタンのリンクアドレスに追加

③票再画面の追加編集と同じエリアに表示

④ボタンを押すとメールクライアントが起動する。

を考えております。&nbsp;

(function () {  
“use strict”;

kintone.events.on(‘app.record.detail.show’, function (event) {

//ボタンの作成＆設定  
if (document.getElementById (‘my\_index\_button’) != ‘null’) {  
return;  
}  
var myIndexButton = document.createElement(‘button’);  
myIndexButton.id = ‘my\_index\_button’;  
myIndexButton.innerHTML = ‘報告メール送信’;

//レコード詳細画面右側の空白部分の要素を取得  
var el = kintone.app.record.getHeaderMenuSpaceElement();

//詳細画面のレコード内容の取得  
…省略

//メール本文  
var honbun = elNoday + elTtl + elCate + elUpday;

//タイトル  
var title = elNoday + elTtl + elCate + ;

//メーリングリストの取得  
var MAIL = “”;  
var params = {  
‘app’: XX,  
‘query’: ‘Drop\_Apri in("業務日誌") and Drop\_Cate in("’ + elCate + ‘")’,  
‘fields’: [‘Drop\_Cate’, ‘Line\_Mail’]  
};

return kintone.api(‘/k/v1/records’, ‘GET’, params).then(function(resp) {  
// レコードを取得する  
var resbuf = resp.records;  
var resi = resbuf.length;  
for(var i = 0; i \<resi; i++) {  
MAIL = MAIL + resbuf[i].Line\_Mail.value;  
}  
alert(MAIL);  
//メール送信機能の追加⇒ボタンに\<a\>属性を追加付与  
var link = document.createElement(‘a’);  
link.href=‘mailto:’+MAIL+‘?subject=’+title+‘&body=’+honbun[0]; link.id = ‘Send’;link.name = ‘mailSend’;  
//要素の追加  
el.appendChild(link);  
link.appendChild(myIndexButton);  
// ボタンクリック時の処理  
myIndexButton.onclick = function() {  
if (honbun[1].length \> 10) {  
alert(honbun[1]);  
}  
}; //onclick

//レコード詳細画面右側の空白部分の要素を取得  
el.appendChild(myIndexButton);  
return event;  
}, function(resp) {  
record.Drop\_Cate.error = ‘そのカテゴリは存在しません’;  
return event;  
});  
}); [//kintone.events.on](https://kintone.events.on)  
})(); //function

ここまでは作成できたのですが、どうもボタンが表示されません。

やはり、kintone.api内にonclickなどを記述すべきではないでしょうか？

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

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1574](https://avatars.discourse-cdn.com/v4/letter/l/76d3ee/32.png) [@Legacy\_Account1574](https://community.cybozu.dev/u/Legacy_Account1574)\
**Post date:** [2015 年 12 月 31 日午後 7:55 UTC](https://community.cybozu.dev/t/topic/2245/2 "2015-12-31T19:55:27Z")

</div>

ナカゴウユイエさん

&nbsp;

ボタンを設置するのと、要素にイベントをアタッチするのはそれぞれに設定するので、

\> やはり、kintone.api内にonclickなどを記述すべきではないでしょうか？

ということはないと思います。

&nbsp;

問題っぽいのはa要素にbutton要素を追加しようとしているところとまだ途中だと思いますが、クリックイベントの中身ではないでしょうか。

&nbsp;

ボタンクリックで初期値入りのメーラが立ち上がるというのが意図だと思いますので、・・・button要素を設置して、クリックイベントで location.href に飛ばしたいリンクを指定すると良いと思います。「button」、「click」、「location.href」あたりでググれば一般的なJavaScriptの話として色々出てくると思います。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1877](https://avatars.discourse-cdn.com/v4/letter/l/5daacb/32.png) [@Legacy\_Account1877](https://community.cybozu.dev/u/Legacy_Account1877)\
**Post date:** [2016 年 1 月 14 日午前 2:23 UTC](https://community.cybozu.dev/t/topic/2245/3 "2016-01-14T02:23:34Z")

</div>

Ryu Yamashita さん

ご教授ありがとうございます。

\>ボタンクリックで初期値入りのメーラが立ち上がるというのが意図だと思いますので、・・

はい、その通りです。メーラーを立ち上げ、KINTONEの内容を初期値としてセットすることを意図しています。

javascriptは本当に聞きかじった程度ですので、KINTONE APIと組み合わせた時に、どうすればいいのかが良く解りませんでした。

\>button要素を設置して、クリックイベントで location.href に飛ばしたいリンクを指定すると良いと思います。

この答えが聞きたかったんです!!

ありがとうございます!!
