Well, I finally got everything working using your method, although i dumped the use of $ since php wanted to consider them as variables even when in quotes and when using xajax addscript returns. I am still puzzled why my old method didn't work, but I am glad to have learned a new way of doing things. Now I am getting more and more locked and hooked into jquery!! Hope I never have to go back. -jeremy
_____ From: Blair McKenzie [mailto:[EMAIL PROTECTED] Sent: Friday, January 26, 2007 1:48 AM To: [EMAIL PROTECTED] Subject: Re: [jQuery] cant append() form objects I use $ in the variable name to remind me that it is a jQuery object. Like naming a variable aForms if it contains an array. The problem with your id example is that because tst.$form is a jQuery object and not the DOM element itself. DOM elements have id properties, jQuery objects do not. Try: alert(tst.$form[0].id); Blair On 1/26/07, Jeremy Dill <[EMAIL PROTECTED]> wrote: Thanks. That does seem to work when it stands alone. I am having a hard time making it work in my actual environment however. This test is overly simplified to what I actually need. I tried using your method but I am missing something. I am not sure I entirely understand the use of $ in front of the ojbect name (like $layer). Is that just a preference or does the $ do something in jquery that I should be aware of? Given your code below, I should be able to reference the form object like this tst=new appLayer('Test'); //create layer and layer objects. tst.$form // this is the form object alert(tst.$form.id) // this should alert the id of the form. right? For some reason its not working that way. Thanks again for your efforts. Jeremy _____ From: Blair McKenzie [mailto:[EMAIL PROTECTED] Sent: Thursday, January 25, 2007 6:22 AM To: [EMAIL PROTECTED]; jQuery Discussion. Subject: Re: [jQuery] cant append() form objects I refactored your function to use jQuery: function appLayer(id){ //create layerbox this.$layer = $("<div id='" + id + "_layer' class='layerbox'></div>").appendTo("#content"); //create form this.$layer.append(this.$form = $("<form id='" + id + "_form' name='" + id + "_form' action='index.php' method='post'></form>")); //create main div this.$main = $("<div id='" + id + "_main' class='morebox'></div>").html("This box should get created, but it doesnt because form didnt get created").prependTo(this.$form); } Interestingly, when I tryed to use this.$form.appendTo(this.$layer) it didn't work. Is this a bug? Not sure. But this function worked for me. Blair On 1/25/07, Jeremy Dill <[EMAIL PROTECTED]> wrote: After upgrading from 1.0.4 to 1.1.1 the following code no longer works. Please tell me if there is a solution to this issue. -------------------------------WORKING HTML TEST PAGE------------ <html xmlns="http://www.w3.org/1999/xhtml" <http://www.w3.org/1999/xhtml%22%3E> > <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>test</title> <style> .layerbox{font-size:8pt;text-align:left;padding:10px;margin:20px;border:1px solid #B2C5EC; background-color:#FCFCFC;float:left; clear:left;height:200px;width:200px} </style> <script type='text/javascript' src='/js/jquery111.js'></script> </head> <body> <div id='content'></div> <script language="JavaScript"> function appLayer(id){ //create layerbox var layerbox=document.createElement('div'); layerbox.id=id+"_layer"; layerbox.className="layerbox"; $("#content").prepend(layerbox); this.divName=layerbox.id; this.layerobj=layerbox; //create form var frm=document.createElement('form'); frm.id=id+"_form"; frm.name=id+"_form"; frm.action = "index.php"; frm.method = "post"; this.frm=frm.id; //-------HERE IS THE PROBLEM-----/// $("#"+this.divName).append(frm); //-------APPEND DOESNT WORK FOR FORM OBJECT------/// //create main div var main=document.createElement('div'); main.id=id+"_main"; main.className="morebox"; main.innerHTML="This box should get created, but it doesnt because form didnt get created"; $("#"+this.frm).prepend(main); } tst=new appLayer('Test'); </script> </body> </html> ----------------------------END PAGE----------------- The form object does not get created. I don't have any problems appending other objects such as divs, but the form object won't work anymore. It works fine in 1.0.4. Try it out. Thanks in advance. Jeremy _______________________________________________ jQuery mailing list [email protected] http://jquery.com/discuss/
_______________________________________________ jQuery mailing list [email protected] http://jquery.com/discuss/
