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...