- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-18-2015 11:54 PM
Hi,
I have a script include and catalog client script that instantiates and access the script include. Problem is, it does not return the value.
Script Include
==========
var acn_catalogClientScripts = Class.create();
acn_catalogClientScripts.prototype = {
initialize: function() {
this.errorMessage = "";
},
sampleFunction: function(){
return "SampleAnswer!";
},
type: 'acn_catalogClientScripts'
};
Catalog client script
=================
var validation = new gacn_catalogClientScripts();
var validation_result = validation.sampleFunction();
g_form.addErrorMessage("Value is " + validation_result);
validation_result does not return anything. Please help. Do I really have to use GlidAjax for this? As per my understanding, accessing script include can be done this way.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-19-2015 01:59 AM
All i know is initialize is the function coming from super class and they mentioned on wiki like
- Avoid overriding methods of AbstractAjaxProcessor, including initialize. While it is possible to invoke methods of your superclass object which you have overridden, it is complicated and best avoided altogether.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-19-2015 01:06 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-19-2015 01:28 AM
Hi Gurpreet Singh,
I have noticed that when I have removed initialize function in my script include. It suddenly works!
From
========
acn_catalogClientScripts.prototype = Object.extendsObject(AbstractAjaxProcessor, {
initialize: function() {
this.errorMessage = "";
},
sampleFunction: function(){
return "SampleAnswer!";
},
type: 'acn_catalogClientScripts'
});
To
========
acn_catalogClientScripts.prototype = Object.extendsObject(AbstractAjaxProcessor, {
sampleFunction: function(){
return "SampleAnswer!";
},
type: 'acn_catalogClientScripts'
});
Output:
========
"Answer is SampleAnswer!"
Why can't I have initialize function in script include?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-19-2015 01:37 AM
Ok good . Now again try to add initialize function in script include and test it again .. it should work .
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-19-2015 01:42 AM
Below is my updated script include:
var acn_catalogClientScripts_abstractAjax = Class.create();
acn_catalogClientScripts_abstractAjax.prototype = Object.extendsObject(AbstractAjaxProcessor, {
initialize: function() {
this.errorMessage = "";
},
sampleFunction: function(){
this.errorMessage = "NewSampleAnswer!";
return this.errorMessage;
},
type: 'acn_catalogClientScripts_abstractAjax'
});
Output
=====
"Answer is null"
I keep on getting null whenever I add the initialize function. If i remove it, it works perfectly. What am I doing wrong?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-19-2015 01:59 AM
All i know is initialize is the function coming from super class and they mentioned on wiki like
- Avoid overriding methods of AbstractAjaxProcessor, including initialize. While it is possible to invoke methods of your superclass object which you have overridden, it is complicated and best avoided altogether.