I'm trying to use a variable that is passed into a function to to dynamically name an instance of an Object(). I've created a Timer() Object that seems to work just fine... the problem is I can't figure out how to pass in an instance name into setTimer() to create a new instance of Timer() object?? My ultimate goal is to have multiple instances of the Timer() Object running at once. While the code below works it only allows me to create 1 instance of the Timer() Object with the name of tmp. Code:
I have a javascript object which dynamically generates a table adding, deleting and moving rows as the user clicks on buttons or links. Problem is when I generate a table row and add the javascript method call to my class, I have to put the object instance name variable of the class in order for it to be called from the onclick=function(). This is seriously limiting, but I'm stuck for a way round it. Heres a edited of the code so you get the idea....
Instantiating the object :-
var dtl = new DynamicTableList("table1", $ {myObject.allFieldsAsJavaScriptArray}, true, true, true);
My javascript class DynamicTableList, note the dtl javascript object instance variable being referred to in the addRow function. How can I avoid this???
if (showDelete) { var cell2 = document.createElement('TD'); var inp2 = document.createElement('IMG'); / ************************************************** ***********************************************/ inp2.onclick=function(){dtl.delRow(this);} // Have to specify dtc!!!!!!!! / ************************************************** ***********************************************/ inp2.title='Delete' inp2.alt='Delete' inp2.src='images/delete.gif' cell2.appendChild(inp2); row.appendChild(cell2); }
...
tbody.appendChild(row);
this.processRows(); };
this.moveRow = function(node, vector) { }; }
Obviously the code dtl.delRow(this); is being dynamically generated, but how do I replace the dtl instance name with something that'll work whatever the user of this class calls the instance of it!
I have made/modifying a script that I can create AJAX objects on the fly. It is working fine in Chrome, FF, Opera, Safari but not IE -.- IE = nightmare
I've been playing around with JS for a while, but I've not ever found fantastic learning resources. I'm comfortable with other programming languages, so I'm very interested in OOP programming for JS, and I've started to use tools like the Prototype library for that purpose.
However, one problem has consistently caused me problems whenever I'm writing a JS Class. How can I get a reference to the specific class instance from inside an event handler that I create with a class method. Let me give an example of what I want to do:
(This code is using the Prototype library...)
myClass = Class.create(); myClass.prototype = { makeLink: function(obj) { // Out here, "this" refers to the instance of the myClass Class obj.innerHTML = '' obj.onclick = function() { // In here, "this" refers to the clicked on element. // How do I get a reference to the instance of myClass in here? } }
Here's the best way that I know how to do this right now. It seems to work in Firefox alright, but doesn't seem to work in IE:
myClass = Class.create(); myClass.prototype = { makeLink: function(obj) { obj.innerHTML = '' self = this; // Save a reference to class instance as "self" obj.onclick = function() { // Self is evaluated to instance reference at time of assignment to onclick self.linkClicked(); }
linkClicked: function() { // Do something useful here }
}
Is there a more elegant way to do this? I could just create all of my event handlers for objects outside of the class in procedural code where I already have a reference to the class object, but I like to wrap these things up inside the class, because sometimes they get significantly more complicated than this very simple one. Anybody have any solutions? This has to be a common design pattern...
I am trying to insert a row with values bases on input fields on submit. However when you submit, it is adding table rows to every table in the document. I have been struggling with this. I have tried using $(this), .parent(), .parents(), .closesest() etc.. [URL]
I'm not sure if I'm calling it the right thing, but I'm trying to dynamically create a bunch of key => value pairs in a javascript object.
Something like this:
Code JavaScript:
But the console gives me errors, and I haven't been able to find a way to do this. I've tryed putting the keys in square brackets, as was suggested somewhere online, but that didn't work.
I'm trying to update a plugin i downloaded. What i'm trying to do, is make it able to work with dinamically created objects. I'm using the live function to assing javascript events, but i need to know how to assing a plugin dynamically. This is what i have right now:
$("#txtinstruments").AutoComplete("query"); What this does is apply the AutoComplete plugin, to all the objects with id txtInstruments that are already created but, i create more objects with that id on the fly, and i need to assign the plugin to them.
I've got a javascript object is "is" that has dynamically populated properties. I make an ajax call to my database to grab usernames associated with unique ID's and populate the javascript. I can call a property directly like this: aler (is.softUser1) or alert(is.softUser2) and show the corresponding values. However since what is being returned from the database is dynamic I may need to call is.softUser5 or is.softUser8 so I need to do that call dynamically. code...
and that obviously doesn't work.
Is there a way that I can dynamically call that property based on whatever value "user" is?
Ive been banging my head on the wall for hours with this one, hopefully someone will know what Im doing wrong here :
The Goal:
I have an xml file that is generated on the fly via JSP which I want to load into a Microsoft.XMLHTTP ActiveX object and manipulate via javascript on the client side. Data is retreived from the server at the request of the javascript without having to reload the page.
The Problem:
For the JSP to dynamically output xml, the file must have the extension JSP, which is set to the mime type of dynamo-internal/html on the server side (as we are using ATG Dynamo). But the javascript on the client side will not retrieve anything unless the file extension is ..xml (or the mime type is recognized as text/xml). So the only way I can get it to work is to change the extension to .xml, which then of course amkes it so that the server will not process any of the JSP code.
Ive tried to override the mime type within the javascript, using the setRequestHeader method after opening the file, but no luck. A call to alert the value of req.responseXML.xml after the send() turns up empty. Ive only gotten it to work if I use a static xml file in palce of the jsp. Sample of the javascript code is below:
if (window.XMLHttpRequest) { // branch for native XMLHttpRequest object - THIS WORKS req = new XMLHttpRequest(); req.overrideMimeType("text/xml"); req.onreadystatechange = processReqChange; req.open("GET", "models.jsp?cId=300006&mId=TAC24", true); req.send(null); alert(req.responseXML.xml); //this gives me the resulting xml file } else if (window.ActiveXObject) { // branch for IE/Windows ActiveX version - NOT WORKING req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = processReqChange; req.open("GET", "models.jsp?cId=300006&mId=TAC24", true); req.setRequestHeader("Content-Type","text/xml"); req.send(); alert(req.responseXML.xml); //this gives me nothing } }
In looking at the following example the Microsoft gives (bottom of page):
I should note that I successfully got the script to work using the XMLHttpRequest object and the overrideMimeType() method. This works with FireFox and I think some Mozilla clients, but not with the all important IE5, which instead uses the XMLHTTP ActiveX control.=
I had read from books that the constructor property of object is inherited from its prototype. And the prototype can be changed dynamically. New property can be added to or deleted from object even it was created before the prototype change.
I get an error when I try to dynamically add an attribute to some elements, since I been getting the error "Object doesn't support this property or method" in IE I reduced the attribute value to just alert.
Code JavaScript:
Note that in firefox all the elements with the class boxcontainer gets "hello world" alert. I removed this specific code (shown above) out of the page and the error in IE goes away, so I'm 100% sure nothing else is causing it.
I have some links that open a window, when this window is open various php processes are carried out and it sets serveral global variables. The problem i am having is users, you can't just tell them to have one instance of the window open you have to enfore that rule and i am having a problem doing that.
i have this code:
function launch(newURL, newName, newFeatures, orgName) { var remote = open(newURL, newName, newFeatures); if (remote.opener == null) remote.opener = window; remote.opener.name = orgName; return remote; }
and this function is called upon by another function Code:
I am new to Javascript and am working with Ajax. I am building a content manager for my site, and I have an instance of CKEditor. I was wondering what the javascript would be to get the value of the textarea. Normally with a textarea I use formname.elementname.value. When I use that with the CKEditor I get a null value.
Code: <script type="text/javascript"> var monthtext=['January','February','March','April','May','June','July','August','September','October','November','December'];
[Code]...
Only the second calendar is taking effect. All the dropdowns in calendar1 is empty. Please help me.
I have the following code running in FireFox 1.5 (a remote XUL application):
var req = new XMLHttpRequest(); // execution will block until request is completed // third param set to false makes request synchronous req.open(strMethod, uriTarget, false); if(strMethod == "POST") {
By the time it gets to req.send() (at the bottom) all the callback functions like req.onerror still have values of null. I've verified this using the Venkman debugger with req as a watch variable.
the code is clearly assigning functions to those callback function objects. Any idea why they are all turning up null?
I have a client, let's call them "BuyNow." They would like for every instance of their name throughout the copy of their site to be stylized like "BuyNow," where the second half of their name is in bold.
I'd really hate to spend a day adding <strong> tags to all the copy. Is there a good way to do this using jQuery?
I was looking in the firebug debugger and noticed that my main .js file was somehow being called twice, but I don't see where. There are dozens of files involved in this particular problem, so I think the best way to go about solving it is to test - in run time - if my js file is already in place on the page, do nothing - otherwise call it. This is pseudo that I have monkeying around with but it's not working.
Code:
function checkFile() { var fileExist = new fileExist(); fileExist.onLoad = isPresent;
[code]....
I thought this would work, perhaps it's because of an argument I need to pass in to checkFile(ZYX) but not sure.
I need to change the background-image (or possibly background-position) property of each new instance of a div with a particular class. I will have a set of images to choose from, or could create a sprite with all of the images.