- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-24-2021 02:59 AM
Hi All ,
I have a ui page as below . I have a requirement when I select "User" from the dropdown User field should be visible and if I select " Group" then group field should be visible .
Below is my code , can somebody help on this
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide"
xmlns:j2="null" xmlns:g2="null">
<g:ui_form>
<table style="width:600px">
<input type="hidden" id="document_id" name="document_id" value="${sysparm_document_id}" />
<input type="hidden" id="table_id" name="table_id" value="${sysparm_table}" />
<input type="hidden" id="table_name" name="table_name" value="dms_document" />
<input type="hidden" id="generated_by" name="generated_by" value="user" />
<input type="hidden" id="user" name="user" />
<input type="hidden" id="generated_byy" name="generated_byy" value="group" />
<input type="hidden" id="group" name="group" />
<tr>
<td>
<label for="name">Please select the drop down</label>
</td>
<td>
<select id="quick_message_dropdown">
<option value="user">User</option>
<option value="group">Group</option>
</select><br/>
</td>
</tr>
<tr>
<td>
<label for="name">${gs.getMessage('User')}</label>
</td>
<td nowrap="true" align="left">
<j:set var="jvar_user_query" value="QUERY:active=true" />
<input type="hidden" id="user_query" name="user_query" value="${jvar_user_query}" />
<g:ui_reference name="${jvar_user_query}" table="sys_user" /><br/>
</td>
</tr>
<tr>
<td>
<label for="name">${gs.getMessage('Group')}</label>
</td>
<td nowrap="true" align="left">
<!--<g:ui_reference name="my_var" query="active=true" id="u_name" table="sys_user_group" style="width:180px"/> -->
<j:set var="jvar_group_query" value=" "/>
<input type="hidden" id="group_query" name="group_query" value="${jvar_group_query}" />
<g:ui_reference name="${jvar_group_query}" query="active=true" table="sys_user_group" /><br/>
</td>
</tr>
<tr>
<td>
<label for="revision">${gs.getMessage('Comments')}</label>
</td>
<td>
<input id="sequence" name="sequence" />
</td>
</tr>
<tr>
<td colspan="2" height="20px"></td>
</tr>
<tr>
<td colspan="2">
<g:dialog_button onclick=" return validateApprover();"
name="" id="">${gs.getMessage('Add')}</g:dialog_button>
</td>
</tr>
</table>
</g:ui_form>
</j:jelly>
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-24-2021 04:47 AM
Hi,
update as this
It worked well for me
HTML:
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide"
xmlns:j2="null" xmlns:g2="null">
<body onload="hide()">
<g:ui_form>
<table style="width:600px">
<input type="hidden" id="document_id" name="document_id" value="${sysparm_document_id}" />
<input type="hidden" id="table_id" name="table_id" value="${sysparm_table}" />
<input type="hidden" id="table_name" name="table_name" value="dms_document" />
<input type="hidden" id="generated_by" name="generated_by" value="user" />
<input type="hidden" id="user" name="user" />
<input type="hidden" id="generated_byy" name="generated_byy" value="group" />
<input type="hidden" id="group" name="group" />
<tr>
<td>
<label for="name">Please select the drop down</label>
</td>
<td>
<select id="quick_message_dropdown" onChange="showHide(this)">
<option value="">None</option>
<option value="user">User</option>
<option value="group">Group</option>
</select><br/>
</td>
</tr>
<tr id="userReference">
<td>
<label for="name">${gs.getMessage('User')}</label>
</td>
<td nowrap="true" align="left">
<j:set var="jvar_user_query" value="QUERY:active=true" />
<input type="hidden" id="user_query" name="user_query" value="${jvar_user_query}" />
<g:ui_reference name="${jvar_user_query}" table="sys_user" /><br/>
</td>
</tr>
<tr id="groupReference">
<td>
<label for="name">${gs.getMessage('Group')}</label>
</td>
<td nowrap="true" align="left">
<!--<g:ui_reference name="my_var" query="active=true" id="u_name" table="sys_user_group" style="width:180px"/> -->
<j:set var="jvar_group_query" value=" "/>
<input type="hidden" id="group_query" name="group_query" value="${jvar_group_query}" />
<g:ui_reference name="${jvar_group_query}" query="active=true" table="sys_user_group" /><br/>
</td>
</tr>
<tr>
<td>
<label for="revision">${gs.getMessage('Comments')}</label>
</td>
<td>
<input id="sequence" name="sequence" />
</td>
</tr>
<tr>
<td colspan="2" height="20px"></td>
</tr>
<tr>
<td colspan="2">
<g:dialog_button onclick=" return validateApprover();"
name="" id="">${gs.getMessage('Add')}</g:dialog_button>
</td>
</tr>
</table>
</g:ui_form>
</body>
</j:jelly>
Client Script:
function hide(){
gel('userReference').style.display = 'none';
gel('groupReference').style.display = 'none';
}
function showHide(object){
if(object.value == 'user'){
gel('userReference').style.display = '';
gel('groupReference').style.display = 'none';
}
else if(object.value == 'group'){
gel('groupReference').style.display = '';
gel('userReference').style.display = 'none';
}
else{
gel('userReference').style.display = 'none';
gel('groupReference').style.display = 'none';
}
}
Output:
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-24-2021 08:33 AM
Hi Ankur , it worked now
I added one line : addLoadEvent(hide);
above the
function hide(){
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-24-2021 09:01 PM
Glad to know.
Please mark my response as correct and helpful to close the question.
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-24-2021 11:31 PM
Hi Ankur,
I have further requirement like if i select user it should create approval in approver related list and if group is selected it should add approval in group approval related list i added below code could you please help me on this too :
This seems to be not working
response.sendRedirect( "/" + table_id + ".do?sys_id=" + document_id);
test();
function test()
{
if(quick_message_dropdown == 'user')
{
var gr = new GlideRecord('sysapproval_approver');
gr.initialize();
gr.source_table = table_id;
gr.document_id = document_id;
gr.state= 'requested';
gr.sysapproval = document_id;
gr.approver = user; //user
gr.insert();
gs.addInfoMessage("User added in approver list " );
}
else if(quick_message_dropdown == 'group')
{
var group1 = new GlideRecord('sysapproval_group');
group1.initialize();
group1.assignment_group = group;
group1.approval = 'requested';
group1.parent = document_id;
group1.insert();
gs.addInfoMessage("Group added in approver list " );
action.setRedirectURL(current);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-24-2021 08:39 AM
Hi Ankur,
I have further requirement like if i select user it should create approval in approver related list and if group is selected it should add approval in group approval related list i added below code could you please help me on this too :
This seems to be not working
response.sendRedirect( "/" + table_id + ".do?sys_id=" + document_id);
test();
function test()
{
if(quick_message_dropdown == 'user')
{
var gr = new GlideRecord('sysapproval_approver');
gr.initialize();
gr.source_table = table_id;
gr.document_id = document_id;
gr.state= 'requested';
gr.sysapproval = document_id;
gr.approver = user; //user
gr.insert();
gs.addInfoMessage("User added in approver list " );
}
else if(quick_message_dropdown == 'group')
{
var group1 = new GlideRecord('sysapproval_group');
group1.initialize();
group1.assignment_group = group;
group1.approval = 'requested';
group1.parent = document_id;
group1.insert();
gs.addInfoMessage("Group added in approver list " );
action.setRedirectURL(current);
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-24-2021 09:02 AM
Hi Ankur,
I have further requirement like if i select user it should create approval in approver related list and if group is selected it should add approval in group approval related list i added below code could you please help me on this too :
This seems to be not working
response.sendRedirect( "/" + table_id + ".do?sys_id=" + document_id);
test();
function test()
{
if(quick_message_dropdown == 'user')
{
var gr = new GlideRecord('sysapproval_approver');
gr.initialize();
gr.source_table = table_id;
gr.document_id = document_id;
gr.state= 'requested';
gr.sysapproval = document_id;
gr.approver = user; //user
gr.insert();
gs.addInfoMessage("User added in approver list " );
}
else if(quick_message_dropdown == 'group')
{
var group1 = new GlideRecord('sysapproval_group');
group1.initialize();
group1.assignment_group = group;
group1.approval = 'requested';
group1.parent = document_id;
group1.insert();
gs.addInfoMessage("Group added in approver list " );
action.setRedirectURL(current);
}