いつも有難うございます。
Ifの条件文の結果によって、ラジオボタン形式であるエラーチェックというフィールド(初期値は’正常’)の値を’エラー’に書き換えたいのですが、変わってくれません。
どのようにすればよいでしょうか?
その他のalertやerrorメッセージは出来ているので、作動条件は満たしていると思うのですが、このアクションだけ適用してくれません。
ちなみにラジオボタンではなく、テキストフィールドに代替して
record.エラーチェック.value = ’エラー’;
としても反応してくれません。
(function() {“use strict”;
var events = [
‘app.record.create.change.事故日’,
‘app.record.edit.change.事故日’,
‘app.record.create.change.入庫日’,
‘app.record.edit.change.入庫日’];
kintone.events.on(events, function(event) {
var record = event.record;
var jikobi = new Date(record.事故日.value);
var nyukobi = new Date(record.入庫日.value);
if (nyukobi > new Date()) {
record.入庫日.error = ‘NG:未来の日付’;
alert(‘入庫日に未来の日付が入力されています!’);
record.エラーチェック.value = ‘エラー’;
} else {
record.入庫日.error = ‘OK:保証範囲内’;
record.エラーチェック.value = ‘正常’;
}
if (jikobi > new Date()) {
record.事故日.error = ‘NG:未来の日付’;
alert(‘事故日に未来の日付が入力されています!’);
record.エラーチェック.value = ‘エラー’;
} else {
record.事故日.error = ‘OK:保証範囲内’;
record.エラーチェック.value = ‘正常’;
}
return event;
});
})();
prestantious様
お世話になっております。 cstapの江田と申します。
入庫日がエラーであっても事故日が正常であれば、エラーチェックは正常に上書きされてしまっているのではないでしょうか?
以下のような条件分岐にしてはいかがでしょうか?
if(nyukobi\>newDate()){record.入庫日.error='NG:未来の日付';alert('入庫日に未来の日付が入力されています!');}else{record.入庫日.error='OK:保証範囲内';}if(jikobi\>newDate()){record.事故日.error='NG:未来の日付';alert('事故日に未来の日付が入力されています!');}else{record.事故日.error='OK:保証範囲内';}if(nyukobi\>newDate()||jikobi\>newDate()){record.エラーチェック.value='エラー';}else{record.エラーチェック.value='正常';}
有難うございます。
書き換えてみたのですが、やはりラジオボタンの値が’エラー’に変わりません。
他の.error表示やalertは動いています。
record.ラジオボタンA.value = ‘B’
のようなコマンドには何か条件が必要なのでしょうか?
return event;も書いていますし、原因がつかめなく、ご協力いただけると助かります。
prestantious様
お世話になっております。
record.****.errorに値が入った状態だと、どうやらフィールド値の書き換えができないようですね。 あまり頭の良い対策ではありませんが、setTimeout()を使って無理やり遅延でエラーチェックを書き換える例を書きます。
(function(){"use strict";varevents=['app.record.create.change.事故日','app.record.edit.change.事故日','app.record.create.change.入庫日','app.record.edit.change.入庫日'];kintone.events.on(events,function(event){varrecord=event.record;varjikobi=newDate(record.事故日.value);varnyukobi=newDate(record.入庫日.value);if(nyukobi\>newDate()){record.入庫日.error='NG:未来の日付';alert('入庫日に未来の日付が入力されています!');}else{record.入庫日.error='OK:保証範囲内';}if(jikobi\>newDate()){record.事故日.error='NG:未来の日付';alert('事故日に未来の日付が入力されています!');}else{record.事故日.error='OK:保証範囲内';}setTimeout(function(){event.record.入庫日.error='';event.record.事故日.error='';if(nyukobi\>newDate()||jikobi\>newDate()){record.エラーチェック.value='エラー';}else{record.エラーチェック.value='正常';}kintone.app.record.set(event);},100);returnevent;});})();