- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2017 11:13 AM
I have a series of checkbox variables that I want to map to a list field on the table. Checking the checkbox just returns "true" or "false", so I cant map the fields. Has anyone done this using an onSubmit script to map the fields?
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2017 12:28 PM
I am guessing that your variable names are direct and together. If that is the case, you need to indicate that they are part of the producer form by adding producer. in front of the variable name:
var wArray = [];
if (producer.direct == 'true') {
wArray.push('241aee49db72f2409502f6e9af961944');
}
if (producer.together == 'true') {
wArray.push('562a6e49db72f2409502f6e9af9619d4');
}
current.u_product_line = wArray.toString();

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2017 11:20 AM
Hello Josh,
Did you mean mapping checkbox field to list type field? Can you please give more details. Thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2017 11:27 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2017 11:22 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2017 11:50 AM
The easiest thing to do is to have an array that is used to populate the list field. Since list fields are just an array of sys_id, you will need to capture the sys_id of the corresponding record. Here is a simple example using a record producer script on the incident table. I created two Checkbox Variables (watch_me, watch_mgr). Depending upon if they are checked will determine what to look up. Since we are adding to the watch list, I just need to capture the sys_id of either myself, or my manager. Depending upon how to get at your values within your list will determine how you alter the code.
var wArray = [];
var usrObj = gs.getUser();
current.caller_id = usrObj.getID();
if (producer.watch_me == 'true') {
wArray.push(usrObj.getID());
}
if (producer.watch_mgr == 'true') {
wArray.push(usrObj.getManagerID().toString());
}
current.watch_list = wArray.toString();