Hallo allemaal!
Ik gebruik de onderstaande JavaScript code van Yahoo om mijn javascript enigzins object georienteerd te maken.
/* Utility to set up the prototype, constructor and superclass properties to
* support an inheritance strategy that can chain constructors and methods.
*
* @param {Function} subclass the object to modify
* @param {Function} superclass the object to inherit
*/
var OriAdmin = window.OriAdmin || {};
OriAdmin.namespace = function(ns) {
if (!ns || !ns.length) {
return null;
}
var levels = ns.split(".");
var nsobj = OriAdmin;
// YAHOO is implied, so it is ignored if it is included
for (var i=(levels[0] == "OriAdmin") ? 1 : 0; i<levels.length; ++i) {
nsobj[levels[i]] = nsobj[levels[i]] || {};
nsobj = nsobj[levels[i]];
}
return nsobj;
};
OriAdmin.extend = function(subclass, superclass) {
var f = function() {};
f.prototype = superclass.prototype;
subclass.prototype = new f();
subclass.prototype.constructor = subclass;
subclass.superclass = superclass.prototype;
if (superclass.prototype.constructor == Object.prototype.constructor) {
superclass.prototype.constructor = superclass;
}
};
OriAdmin.namespace("tools");
Wanneer ik nu het prototypejs framework wil gebruiken om bijvoorbeeld een ajax request te doen naar een pagina, dan werkt dit niet meer. Bijvoorbeeld:
new Ajax.Request('/Includes/AddProduct.aspx',
{
method:'get',
onSuccess: function(transport)
{
var response = transport.responseText || "no response text";
alert("Success! \n\n" + response);
},
onFailure: function(){ alert('Something went wrong...') }
});
Met het bovenstaande script krijg ik zelfs geen alert's meer te zien. Het lijkt er dus op dat de Yahoo functionaliteit die van PrototypeJS in de weg zit
Hoe zou ik dit het beste op kunnen lossen?
Ik gebruik de onderstaande JavaScript code van Yahoo om mijn javascript enigzins object georienteerd te maken.
/* Utility to set up the prototype, constructor and superclass properties to
* support an inheritance strategy that can chain constructors and methods.
*
* @param {Function} subclass the object to modify
* @param {Function} superclass the object to inherit
*/
var OriAdmin = window.OriAdmin || {};
OriAdmin.namespace = function(ns) {
if (!ns || !ns.length) {
return null;
}
var levels = ns.split(".");
var nsobj = OriAdmin;
// YAHOO is implied, so it is ignored if it is included
for (var i=(levels[0] == "OriAdmin") ? 1 : 0; i<levels.length; ++i) {
nsobj[levels[i]] = nsobj[levels[i]] || {};
nsobj = nsobj[levels[i]];
}
return nsobj;
};
OriAdmin.extend = function(subclass, superclass) {
var f = function() {};
f.prototype = superclass.prototype;
subclass.prototype = new f();
subclass.prototype.constructor = subclass;
subclass.superclass = superclass.prototype;
if (superclass.prototype.constructor == Object.prototype.constructor) {
superclass.prototype.constructor = superclass;
}
};
OriAdmin.namespace("tools");
Wanneer ik nu het prototypejs framework wil gebruiken om bijvoorbeeld een ajax request te doen naar een pagina, dan werkt dit niet meer. Bijvoorbeeld:
new Ajax.Request('/Includes/AddProduct.aspx',
{
method:'get',
onSuccess: function(transport)
{
var response = transport.responseText || "no response text";
alert("Success! \n\n" + response);
},
onFailure: function(){ alert('Something went wrong...') }
});
Met het bovenstaande script krijg ik zelfs geen alert's meer te zien. Het lijkt er dus op dat de Yahoo functionaliteit die van PrototypeJS in de weg zit
Hoe zou ik dit het beste op kunnen lossen?