Table
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2024 10:52 PM
Create one list type field reference to user table when someone remove any values from the list or add any users to the list fields , then it will shows the
alert/pop up with the added/removed users list to the end - user use your own table ?
Client Script:
function onLoad() {
// Get the initial value of the watchers field
var initialWatchers = g_form.getValue('u_watchers');
}
function onSubmit() {
// Get the current value of the watchers field
var currentWatchers = g_form.getValue('u_watchers');
// Find the added and removed users
var addedUsers = [];
var removedUsers = [];
for (var i = 0; i < currentWatchers.length; i++) {
if (initialWatchers.indexOf(currentWatchers[i]) == -1) {
addedUsers.push(currentWatchers[i]);
}
}
for (var i = 0; i < initialWatchers.length; i++) {
if (currentWatchers.indexOf(initialWatchers[i]) == -1) {
removedUsers.push(initialWatchers[i]);
}
}
// Show the alert/pop up with the added/removed users
if (addedUsers.length > 0 || removedUsers.length > 0) {
var message = 'Watchers updated:';
if (addedUsers.length > 0) {
message += '\nAdded: ' + addedUsers.join(', ');
}
if (removedUsers.length > 0) {
message += '\nRemoved: ' + removedUsers.join(', ');
}
alert(message);
}
}
Write the code using client script but not working.
Any idea above scenaior code help me
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2024 11:27 PM
I have modified the script for your reference.
var initialWatchers;
function onLoad() {
// u_watchersフィールドの初期値を配列として取得
initialWatchers = g_form.getValue('u_watchers').split(',');
}
function onSubmit() {
// u_watchersフィールドの現在の値を配列として取得
var currentWatchers = g_form.getValue('u_watchers').split(',');
var addedUsers = [];
var removedUsers = [];
// 追加されたユーザーを検出
currentWatchers.forEach(function(user) {
if (initialWatchers.indexOf(user) == -1 && user) {
addedUsers.push(user);
}
});
// 削除されたユーザーを検出
initialWatchers.forEach(function(user) {
if (currentWatchers.indexOf(user) == -1 && user) {
removedUsers.push(user);
}
});
// 追加/削除されたユーザーを含むアラートを表示
if (addedUsers.length > 0 || removedUsers.length > 0) {
var message = 'ウォッチャーが更新されました:';
if (addedUsers.length > 0) {
message += '\n追加: ' + addedUsers.join(', ');
}
if (removedUsers.length > 0) {
message += '\n削除: ' + removedUsers.join(', ');
}
alert(message);
}
return true; // フォームの送信を許可
}