onSubmit client catalog script issue to stop submitting the form based on GlideAjax XML response
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-18-2025 12:04 PM
Hello, I have a requirement where I need to submit form based on the response from GlideAjax XML response in catalog client script. Here is my code :
function onSubmit() {
alert(g_form.getValue('type_of_ser'));
if(g_form.getValue('type_of_ser') === 'I want to travel out of country and require access to Microsoft apps.'){
var ga = new GlideAjax('CheckDuplicateRequest');
ga.addParam('sysparm_name','checkDuplicate');
ga.addParam('sysparm_requested_for',g_user.userID);
ga.addParam('sysparm_request_type',g_form.getValue('type_of_ser'));
ga.addParam('sysparm_start_date',g_form.getValue('begin_date'));
ga.addParam('sysparm_end_date',g_form.getValue('end_date'));
ga.addParam('sysparm_country',g_form.getValue('travel_to_country'));
ga.getXMLAnswer(function (response){
alert(response);
if(response == 'true'){
g_form.addErrorMessage('Duplicate Request exists for same dates.');
return false;
}else{
return true;
}
});
//alert(answer);
}
}
Please give me any valid solutions for this type of situation.
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-18-2025 01:09 PM
Hi @Drithika20
try this
function onSubmit() {
if (g_scratchpad.isFormValid)
return true;
var actionName = g_form.getActionName();
alert(g_form.getValue('type_of_ser'));
if (g_form.getValue('type_of_ser') === 'I want to travel out of country and require access to Microsoft apps.') {
var ga = new GlideAjax('CheckDuplicateRequest');
ga.addParam('sysparm_name', 'checkDuplicate');
ga.addParam('sysparm_requested_for', g_user.userID);
ga.addParam('sysparm_request_type', g_form.getValue('type_of_ser'));
ga.addParam('sysparm_start_date', g_form.getValue('begin_date'));
ga.addParam('sysparm_end_date', g_form.getValue('end_date'));
ga.addParam('sysparm_country', g_form.getValue('travel_to_country'));
ga.getXMLAnswer(function(response) {
alert(response);
if (response == 'true') {
g_form.addErrorMessage('Duplicate Request exists for same dates.');
return false;
} else {
g_scratchpad.isFormValid = true;
g_form.submit(actionName);
}
});
return false;
//alert(answer);
}
}
refer this
https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0779964
Please mark my answer as helpful/correct if it resolves your query.
Regards,
Chaitanya