モバイルでのボタン

現在、ボタンを押した際に、郵便番号から住所を自動入力するようにしたいと考えています。

kintoneのモバイル版で編集画面でボタンを配置したのですが、

.getHeaderSpaceElement のみの為、ボタンを画面上部から移動させることが出来ません。

指定の場所(郵便番号の入力フィールドの横)に配置する方法があれば教えて頂きたいと思います。

宜しくお願い致します。

 


jQuery.noConflict();
(function($) {
“use strict”;

// レコード編集画面が表示された時のイベント
kintone.events.on(‘mobile.app.record.edit.show’, function(event) {
// ここに具体的な処理の内容を記述する
MakePost2AddressBtn();

});

// レコード追加画面が表示された時のイベント
kintone.events.on(‘mobile.app.record.create.show’, function(event) {
// ここに具体的な処理の内容を記述する
MakePost2AddressBtn();

});

function MakePost2AddressBtn(){

// 増殖バグを防ぐ
if (document.getElementById(‘post2add_button’) !== null) {
return;
}

// ボタン
var elButton = kintone.mobile.app.getHeaderSpaceElement();
var myIndexButton = document.createElement(‘button’);
myIndexButton.id = ‘post2add_button’;
myIndexButton.innerHTML = ‘〒→住所’;//変更点

// ボタンクリック時の処理
myIndexButton.onclick = function() {

var zip_field = ‘Zip’//変更点
var addr_field = ‘Address’//変更点
var record = kintone.mobile.app.record.get();
var zip = record[‘record’][zip_field][‘value’];

let strurl = ‘http://api.zipaddress.net/’;
if(zip !== “”){ strurl += ‘?zipcode=’ + zip;}

kintone.proxy(strurl, ‘GET’,{},{}).then(function(args){
//success
/* args[0] -> body(文字列)
* args[1] -> status(数値)
* args[2] -> headers(オブジェクト)
*/
let Jdata = JSON.parse(args[0]);

if(Jdata.code === 200) {
//200は成功

record[“record”][addr_field][“value”] = Jdata[‘data’][‘fullAddress’]
kintone.mobile.app.record.set(record);
//console.log(Jdata[‘data’][‘fullAddress’]);
//console.log(record);

}
//console.log(args[1], JSON.parse(args[0]), args[2]);
});

};

elButton.appendChild(myIndexButton);

Ryo Saidoさん

ボタンの配置に関してですが、モバイル版用の要素を取得するAPIは、

kintone.mobile.app.getHeaderSpaceElement(ヘッダー直下の空白部分の要素を取得)

このひとつのみとなっています。

他の要素を取得するAPIはPC画面のみで使用できるAPIですので、現時点ではモバイルで利用できません。

PC版とモバイル版で利用できるAPIが異なりますので、こちらのページをご参考になさってください。

PC/スマートフォン 早見表

ご期待に添える回答にならず心苦しいのですが、モバイル版でカスタマイズされる際には、APIの差異をご確認いただくと良いと思います。