- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-08-2025 11:06 AM
function onSubmit() {
//Type appropriate comment here, and begin script below
var a = g_form.getValue('group_name');
var ga = new GlideAjax('isGroupCreated');
ga.addParam('sysparm_name', 'isNameExists');
ga.addParam('Group_Name', a);
ga.getXMLWait();
var answer = ga.getAnswer();
var mem = g_form.getValue('EU06') ? g_form.getValue('EU06').split(',').length : 0;
if (answer == 'false') {
alert('Group wih the same name already exists:\nPlease try with Different Name');
return false;
} else if (answer == 'true') {
alert('Name is Unique');
var anna = confirm('Please Confirm Your Request Details: \nGroup Name: '+g_form.getValue('group_name')+'\nDescription: '+ g_form.getValue('EU02')+'\nGroup Email: '+g_form.getValue('EU03')+'\nManager for the group: '+ g_form.getDisplayBox('EU04').value+'\nNumber of Members: '+ mem);
if (anna == false){
return false;}
}
}
Hi Community,
This above code is working fine , when I use 'Try It' in Catalog Item and try to submit the item, but doesnt work the same when I happen to use this in my EmployeeCenter [ESC] it says 'Javascript Error'.
Also Above the Catalog Client Script this info pops up:
This catalog client script is not VA supported due to the presence of the following variables in the script: g_form.getDisplayBox.value, confirm New client-scripts are run in strict mode, with direct DOM access disabled. Access to jQuery, prototype and the window object are likewise disabled. To disable this on a per-script basis, configure this form and add the "Isolate script" field. To disable this feature for all new globally-scoped client-side scripts set the system property "glide.script.block.client.globals" to false. |
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-08-2025 11:35 AM
You have to put it in a function for portal. Try this:
function onSubmit() {
if (g_scratchpad.isFormValid) //need to check to see if you should process or not
return true;
var a = g_form.getValue('group_name');
var ga = new GlideAjax('isGroupCreated');
ga.addParam('sysparm_name', 'isNameExists');
ga.addParam('Group_Name', a);
ga.getXMLAnswer(getResponse);
return false;
}
function getResponse(response) {
var answer = response;
var mem = g_form.getValue('EU06') ? g_form.getValue('EU06').split(',').length : 0;
if (answer == 'false') {
alert('Group wih the same name already exists:\nPlease try with Different Name');
return false;
} else if (answer == 'true') {
alert('Name is Unique');
var anna = confirm('Please Confirm Your Request Details: \nGroup Name: ' + g_form.getValue('group_name') + '\nDescription: ' + g_form.getValue('EU02') + '\nGroup Email: ' + g_form.getValue('EU03') + '\nManager for the group: ' + g_form.getDisplayBox('EU04').value + '\nNumber of Members: ' + mem);
if (anna == false) {
return false;
}
}
var actionName = g_form.getActionName();
g_scratchpad.isFormValid = true;
g_form.submit(actionName);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-03-2025 10:55 PM
Hello @JenniferRah
I have written the following code for my requirement. I need to check whether the user's manager is active or not. If the manager is inactive, a confirmation popup should appear before submitting the request. If the user clicks "OK," the form should submit; otherwise, if they click "Cancel," the form should not be submitted.
I have written the client script and script include code below.
Could you please guide me on this?
Thank you!
function onSubmit() {
var gr = new GlideAjax('check_hrs');
gr.addParam('sysparm_name', 'manager_active');
gr.addParam('sysparm_manager', g_form.getValue('subject_person_s_manager'));
gr.getXMLAnswer(setAnswer);
return false; // Prevent form submission until the response is received
}
function setAnswer(answer) {
if (answer == 'false') {
var anna = confirm('Please Confirm: User does not have a manager.');
if (!anna) {
return false; // Stop execution if the user cancels
}
}
if (g_scratchpad.isFormValid) {
return true;
}
g_scratchpad.isFormValid = true;
g_form.submit(g_form.getActionName());
}
Script Include:
var check_hrs = Class.create();
check_hrs.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
demo: function() {
var sdate = this.getParameter('sysparm_form');
var gh = new GlideDateTime(sdate);
var gd = new GlideDateTime();
var gdd = gd.getDisplayValue();
var gddd = new GlideDateTime(gdd);
var gt = GlideDateTime.subtract(gddd, gh);
var sec = gt.getNumericValue();
if (sec > 14400000) {
return true;
} else {
return false;
}
},
check_manager: function() {
var gr = new GlideRecord('sys_user');
gr.get(this.getParameter('sys_user_id'));
if (gr.manager) {
return true;
} else {
return false;
}
},
manager_active: function() {
var gr = new GlideRecord('sys_user');
if(gr.get(this.getParameter('sysparm_manager'))){
if(gr.active.toString() == 'true'){
return true;
}else{
return false;
}
} else{
return 'No Manager';
}
},
type: 'check_hrs'
});

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-04-2025 05:01 AM
I don't see any glaring issues with the code. How far are you getting? And do you have Isolate Script checked or unchecked? It should probably be unchecked.