Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Return False is not working in onsubmit client script

akhila13
Tera Expert

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;
}

 


}
}

1 ACCEPTED SOLUTION

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;

 


Raghav
MVP 2023
LinkedIn

View solution in original post

9 REPLIES 9

Hi Raghav,

 

 

I modified the code. Still not working 😞

 

function onSubmit() {


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);
if (answer == 'Cannot Resolve') {
g_form.addErrorMessage("Cannot change the state to resolved");
return false;
}
else {
g_scratchpad.isFormValid = true;
g_form.submit(actionName);
}

}
}

can you alert(answer); and check if you are getting correct value?

Also try:

 

if (answer != 'Cannot Resolve') {

g_scratchpad.isFormValid = true;
g_form.submit();
}
else {
g_form.addErrorMessage("Cannot change the state to resolved");
return false;
}


Raghav
MVP 2023
LinkedIn

The error message is coming correctly . But the form is getting saved

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;

 


Raghav
MVP 2023
LinkedIn

it works.. Thanks a lot Raghav...