- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-10-2022 05:31 AM
I am checking unique catalog item name in table sc_cat_item and always getting null
wrote onchange catalog client script on variable create_catalog_item and client callable SI
Here is the code
Client script:
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var cat_name = g_form.getValue('create_catalog_name');
alert('cat_name'+cat_name);
var ga = new GlideAjax('UniqueCatalogName');
ga.addParam('sysparm_name','getName');
ga.addParam('sysparm_cat_name',cat_name);
ga.getXML(getCatName);
function getCatName(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
alert('answer'+answer); //getting null
if(answer == 'true'){
g_form.showErrorBox('create_catalog_name','This name is already available,please select other name');
g_form.clearValue('create_catalog_name');
}}}
Script include:
var UniqueCatalogName = Class.create();
UniqueCatalogName.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getName: function(){
var cat_name = this.getParameter('sysparm_cat_name');
var trimed_name = cat_name.trim();
var flag = false;
gs.log('cat_name' + cat_name + ' trimed name' + trimed_name);
var avil_name = new GlideRecord('sc_cat_item');
avil_name.addEncodedQuery('name=' + cat_name + '^ORname=' + trimed_name);
avil_name.query();
if (avil_name.next()) {
flag = true;
} else {
flag = false;
}
return flag;
},
type: 'UniqueCatalogName'
});
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-10-2022 06:57 AM - edited ‎10-10-2022 06:57 AM
Hi Jack,
issue with your scriptinclude function name "getName" change with something like "getNameOfCatalog".
This would fix your issue. Please let me know after trying.
Thanks
Viswa
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-11-2022 07:40 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-10-2022 10:56 PM
Hi Jack,
Hope You're doing good. Have you tried changing script include function name.
Make sure you update function name in client script also.
Thanks
Viswa
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-11-2022 07:40 AM
Thank you Viswa, it worked
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-11-2022 08:04 AM
Hi Jack,
Good to hear..
Thank you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-10-2022 11:26 PM - edited ‎10-10-2022 11:27 PM
Can you try the following code?
//Client script:
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var cat_name = g_form.getValue('create_catalog_name');
alert('cat_name'+cat_name);
var ga = new GlideAjax('UniqueCatalogName');
ga.addParam('sysparm_name', 'getName');
ga.addParam('sysparm_cat_name', cat_name);
ga.getXMLAnswer(getCatName);
function getCatName(response) {
alert('answer'+response);
if(response == 'true'){
alert('This name is already available, please select another name');
g_form.showFieldMsg('create_catalog_name', 'This name is already available,please select other name', 'error');
g_form.clearValue('create_catalog_name');
}
}
}
//Script include:
var UniqueCatalogName = Class.create();
UniqueCatalogName.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getName: function(){
var cat_name = this.getParameter('sysparm_cat_name');
var trimed_name = cat_name.trim();
var flag = 'false';
gs.log('cat_name' + cat_name + ' trimed name' + trimed_name);
var avil_name = new GlideRecord('sc_cat_item');
avil_name.addEncodedQuery('name=' + cat_name + '^ORname=' + trimed_name);
avil_name.query();
if (avil_name.next()) {
flag = 'true';
}
return flag;
},
type: 'UniqueCatalogName'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-25-2023 01:46 AM
Its not working for me and I am returning date