- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2022 07:05 AM
In the below script return false is not working.Can anyone help me
function onSubmit() {
var ga = new GlideAjax('IncidentAssignmentGroup');
ga.addParam('sysparm_name', 'canResolveIncident');
ga.addParam('sysparm_state', g_form.getValue('state'));
ga.addParam('sysparm_group', g_form.getValue('assignment_group'))
ga.getXML(setState);
function setState(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
g_form.addInfoMessage(answer);
// g_form.addErrorMessage("test");
//retrun false;
if (answer == 'Cannot Resolve') {
g_form.addErrorMessage("Cannot change the state to resolved");
return false;
}
}
}
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2022 09:24 AM
I got the issue the function should close after if, try below:
if (g_scratchpad.isFormValid) {
return true;
}
var actionName = g_form.getActionName();
var ga = new GlideAjax('IncidentAssignmentGroup');
ga.addParam('sysparm_name', 'canResolveIncident');
ga.addParam('sysparm_state', g_form.getValue('state'));
ga.addParam('sysparm_group', g_form.getValue('assignment_group'))
ga.getXML(setState);
function setState(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
g_form.addInfoMessage(answer);
// g_form.addErrorMessage("test");
//retrun false;
if (answer != 'Cannot Resolve') {
g_scratchpad.isFormValid = true;
g_form.submit(actionName);
}
}
g_form.addErrorMessage("Cannot change the state to resolved");
return false;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2022 07:11 AM
hello @akhila13 ,
please follow this article to prevent on submit client script when it is return false;
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0779964
Hope this helps
Mark my answer correct if this helps
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2022 07:14 AM
@akhila13 return false does not work in onSubmit() GlideAjax as it makes a async call to server.
There is a ServiceNow KB article which helps you to achieve this.
Refer : https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0783579
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2022 07:20 AM - edited 11-14-2022 07:35 AM
Can you please help me to use this code in my script.I modified the script but its not working
function onSubmit() {
if (g_scratchpad.isFormValid) {
return true;
}
var ga = new GlideAjax('IncidentAssignmentGroup');
ga.addParam('sysparm_name', 'canResolveIncident');
ga.addParam('sysparm_state', g_form.getValue('state'));
ga.addParam('sysparm_group', g_form.getValue('assignment_group'))
ga.getXML(setState);
function setState(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
g_form.addInfoMessage(answer);
// g_form.addErrorMessage("test");
//retrun false;
if (answer == 'Cannot Resolve') {
g_form.addErrorMessage("Cannot change the state to resolved");
return false;
}
else {
g_scratchpad.isFormValid = true;
g_form.submit();
}
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2022 07:50 AM
You have missed :
var actionName = g_form.getActionName();
and
g_form.submit(actionName);