スペースフィールドにプラグインで取得した数値を元に比較し、レコード登録時に確認ダイアログを表示したい

はじめての投稿になります。アドバイス頂ければ助かります。

 

【実現したいこと】

・スペースフィールド要素IDに取得した数値情報を比較し、

12以上であれば、確認ダイアログを表示させて、そのまま保存するかキャンセルするか選択させたい。

レコード保存ボタンをクリックすると固まってしまいます。

【フィールド情報】

・スペースフィールド要素ID:Number

【作成したJS】

 

(function () {
“use strict”;
kintone.events.on(‘app.record.create.submit’, function (e) {

var record = event.record;
var Num = kintone.app.record.getSpaceElement(Number)
if(Num >= 12){
if(window.confirm("同時間帯の予約が既に12人を超えています。登録しますか? ")) {
return e;
} else {
return false;
}
}

});
})();

杉内 和成 さん

kintone.app.record.getSpaceElement(“フィールドコード”)で取得したのは値ではなく、DOM要素ですので、
そのまま数値と比較することができません。

また、スペースフィールドをフォームに配置するだけであれば、
レコード追加画面では表示されないはずなので、値を入力することもできません。
杉内和成 さんの場合は、カスタマイズで値をセットしているのでしょうか。

 

コメントありがとうございます!

1)値で取得するにはどのように書けば良いのでしょうか?

2)現在プラグインを利用して、要素ID’Number’に集計した数値を表示しています。

ご利用中のプラグインの仕様を見ていないから何とも言えないです。

例えば、次の画像の例ではスペースフィールドの「insertText」属性に文字列をセットしてあげているので、
el.insertTextを指定すれば、設定したものを参照できます。
console.log(el.insertText)でconsoleに”aaa”が出力されます。

 

スペースフィールドに表示している文字列を取得するには、
ご利用中のプラグインはどのように文字列を設定しているか確認する必要があります。

また、スペースフィールドの属性に値を設定するタイミングによって
値を取得できないイベントもあります。
例えば、レコード表示画面で設定してあげる場合は、レコードの作成画面では取得できません。

コメントありがとうございます!

Num.innerText  で該当する数値を参照できました!

「プラグインはどのように文字列を設定しているか」とても参考になりました。

数字の比較もでき、確認ダイアログを表示する事もできました!

 

本当にありがとうございました。