catalog client script requested for
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-11-2023 10:07 PM
Hi there
this client script works, when i changed the requested for the first time, but then when i change again it always evaluates to true.
i think i need to clear value but not sure where
Thanks
Levino
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var thisUser = g_form.getValue("requested_for");
var encoded_query = 'u_name=' + thisUser + '^u_status=approved' + '^u_clearance_name=govt';
var gAj = new GlideAjax('global.GeneralRecordRetrievalUtil');
gAj.addParam('sysparm_name', 'returnSingleFieldValuesAJAX');
gAj.addParam('sysparm_table', 'u_security_clearance');
gAj.addParam('sysparm_rtnField', 'sys_id');
gAj.addParam('sysparm_encodedQry', encoded_query);
gAj.getXML(function(response) {
var bs = response.responseXML.getElementsByTagName("result");
var thisSysid = bs[0].getAttribute('sys_id');
if (!thisSysid) {
g_form.clearValue('thisUser');
}else{
g_form.setMandatory('evidence_of_clearance',true);
}
});
}
3 REPLIES 3
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-11-2023 10:12 PM
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var thisUser = g_form.getValue("requested_for");
g_form.clearValue('requested_for');
var encoded_query = 'u_name=' + thisUser + '^u_status=approved' + '^u_clearance_name=govt';
var gAj = new GlideAjax('global.GeneralRecordRetrievalUtil');
gAj.addParam('sysparm_name', 'returnSingleFieldValuesAJAX');
gAj.addParam('sysparm_table', 'u_security_clearance');
gAj.addParam('sysparm_rtnField', 'sys_id');
gAj.addParam('sysparm_encodedQry', encoded_query);
gAj.getXML(function(response) {
var bs = response.responseXML.getElementsByTagName("result");
var thisSysid = bs[0].getAttribute('sys_id');
if (!thisSysid) {
g_form.clearValue('requested_for');
}else{
g_form.setMandatory('evidence_of_clearance',true);
}
});
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-11-2023 10:22 PM
Hi @levino
If possible can you share the script include as well...!!
Vishal Birajdar
ServiceNow Developer
I know one thing, and that is that I know nothing.
- Socrates
ServiceNow Developer
I know one thing, and that is that I know nothing.
- Socrates
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-12-2023 09:54 PM
returnSingleFieldValuesAJAX: function()
/************************************************************************
* returnSingleFieldValuesAJAX retrieves values from a given table using *
* an encoded query string, and returns the list of values from one *
* specified field as an AJAX XML format. *
* NOTE: Client Script call should be written in the following format: *
* var gAj = new GlideAjax('GeneralRecordRetrievalUtil'); *
* gAj.addParam('sysparm_name','returnSingleFieldValuesAJAX'); *
* gAj.addParam('sysparm_table','tablename'); *
* gAj.addParam('sysparm_rtnField','fieldname'); *
* gAj.addParam('sysparm_encodedQry',encoded_query); *
* gAj.getXML(function (response){ var bs = *
* response.responseXML.getElementsByTagName("result"); *
* g_form.setValue('fieldname',bs[0].getAttribute('fieldname'));}); *
************************************************************************/
{
var result = this.newItem("result");
var snTable = this.getParameter('sysparm_table'); //Supply tablename to query
var snRetField = this.getParameter('sysparm_rtnField'); //Supply the fieldname to return results from
var snEncodedQry = this.getParameter('sysparm_encodedQry'); //Supply the encoded Query to filter records
var rtn = '';
try {
if (snTable != '' && snEncodedQry != '') {
var encQry = new GlideRecord(snTable);
encQry.addEncodedQuery(snEncodedQry);
encQry.query();
while (encQry.next()) {
rtn = encQry.getElement(snRetField).toString();
}
}
} catch (e) {
alert(e);
}
//gs.log("returnSingleFieldValuesAJAX result: " + snRetField + " value: " + rtn);
result.setAttribute(snRetField, rtn);
},