失礼いたします。
現在、ポータル等などからホップアップを表示させて、
input要素に記入された項目を使って、POST APIによりアプリへレコードの追加ができないかと思い試行錯誤しております。
ここにボタンを作成して、click発火でホップアップさせたいと思い以下のようなjsを全体jsにUPしました。
全体jsなので、要素の追加もjsで行っています。
想定としては、タスク作成用をイメージしてます。
(function(){
“use strict”;
$().ready(function() {
setTimeout(function(){
var body =[];
//タスク申請ボタンの作成追加
var tuika = document.createElement(“li”);
tuika.id = “tuika”;
var tasukuBT = document.createElement(“button”);
tasukuBT.id = “tasukuBT”;
tasukuBT.innerHTML = “タスク申請”;
tasukuBT.addEventListener(“click”,TasukuBT);
var login = kintone.getLoginUser().code;
tuika.appendChild(tasukuBT);
leftmenu.appendChild(tuika);
//ホップアップウィンドウの作成追加
var win = document.createElement(“div”);
win.id = “win”;
var mainta = document.createElement(“table”);
mainta.id = “mainta”;
var thead = document.createElement(“thead”);
var TR1 = document.createElement(“tr”);
var TR2 = document.createElement(“tr”);
var doropT = document.createElement(“p”);
doropT.id = “doropT”;
doropT.innerHTML = “タスク種別※”;
var shybetu = document.createElement(“select”);
shybetu.id = “shybetu”;
var OP1 = document.createElement(“option”);
OP1.innerHTML = “重要”;
var OP2 = document.createElement(“option”);
OP2.innerHTML = “その他”;
tuika.appendChild(win);
mainta.appendChild(thead);
thead.appendChild(TR1);
win.appendChild(mainta);
doropT.appendChild(shybetu);
shybetu.appendChild(OP1);
shybetu.appendChild(OP2)
TR1.appendChild(doropT);
var tdBT1 = document.createElement(“td”);
var kyanBT = document.createElement(“button”);
kyanBT.id = “kyanBT”;
kyanBT.innerHTML = “キャンセル”;
kyanBT.addEventListener(“click”,KyanBT);
var tdBT2 = document.createElement(“td”);
var shiBT = document.createElement(“button”);
shiBT.id = “shiBT”;
shiBT.innerHTML = “申請”;
shiBT.addEventListener(“click”,ShiBT);
thead.appendChild(TR2);
TR2.appendChild(tdBT1);
tdBT1.appendChild(kyanBT);
TR2.appendChild(tdBT2);
tdBT2.appendChild(shiBT);
//キャンセルボタン
function KyanBT(){
win.style.display = “none”;
tasukukigen.value = “”;
kanURL.value = “”;
naiyou.value = “”;
// file.value = “”;
}
//申請ボタン
function ShiBT(){
body = {
“app”:”アプリID”,
“record”:[{
“タスク種別”:{
“value”:shybetu.value
}
}]
}
kintone.api(kintone.api.url(‘/k/v1/record’, true), ‘POST’, body, function(re) {
// success
console.log(re);
}, function(error) {
// error
console.log(error);
})
alert(“タスクを作成しました”);
win.style.display = “none”;
tasukukigen.value = “”;
kanURL.value = “”;
naiyou.value = “”;
}
//タスク申請ボタン
function TasukuBT(){
win.style.display = “block”;
}
naiyou.addEventListener(‘keypress’, function(e){
if(e.key !== ‘Enter’) return;
var event = document.createEvent(‘HTMLEvents’);
event.initEvent(‘click’, true, true);
shiBT.dispatchEvent(event);
});
},1000);
});
return event;
})();
上記では、ドロップダウンのみですが、実際は日にちなどの必要なフィールドに対応したものにします。
この状態でも、レコードの追加は機能しているのですが、追加されたレコードのフィールドが記入されていません。
形式が違うのかなと、bodyの中身を確認してみたり、JSONエンコードしてみたりしたのですが上手くいきません。
どなたか、ご教授いただけると幸いでございます。
ちなみにOSは、ウィンドウズ7です。