[jQuery] Re: Finding ID within Ajax response
Glad I could help. I haven't seen this problem before even though it does seem like quite a common thing to need to do. I think with a bit more work you could come up with a more elegant work around such as using the append/prepend function in conjunction with say the and tags. Although whatever you use will be a bit of a hack and at the end of the day as long as you get the data you need thats all that matters. Cheers R On Apr 13, 11:39 pm, Nic Hubbard wrote: > You are right, that did work. Thanks, I really appreciate your help > on this! > > Had you run into this issue before? > > On Apr 13, 3:33 pm, Ryan wrote: > > > In my tests wrapping your full test html page in the div seems to > > work. Not pretty but works. > > > On Apr 13, 11:29 pm, Nic Hubbard wrote: > > > > Yeah, but my page returns a full HTML page, so I need to do something > > > like: > > > > $("body").wrapInner(''); > > > > Which, does not seem to work. > > > > On Apr 13, 3:14 pm, Ryan wrote: > > > > > In that case you would need to add something like > > > > > html = ''+html+''; > > > > > to your function. Its a bit of an ugly hack I know. > > > > > Having played with it a bit now. I think your probably right about it > > > > being a jquery bug. It might be worthwhile exploring which function > > > > the problem lies with then submitting it to the jquery team. > > > > > R > > > > > On Apr 13, 10:55 pm, Nic Hubbard wrote: > > > > > > Hey, that actually worked! But, why would this have helped? And, is > > > > > there a way around this, since the real form that I need to get, I > > > > > cannot wrap a div around. > > > > > > On Apr 13, 2:46 pm, Ryan wrote: > > > > > > > If you wrap your form in a div I think it should work - haven't > > > > > > tested > > > > > > it > > > > > > > R > > > > > > > On Apr 13, 10:22 pm, Nic Hubbard wrote: > > > > > > > > Could this be a jQuery bug? > > > > > > > > On Apr 13, 2:13 pm, James wrote: > > > > > > > > > I still haven't figured it out, but playing around and setting > > > > > > > > the > > > > > > > > ajax response as a jquery object, $(html), and making it global > > > > > > > > so I > > > > > > > > can view it's attributes through Firebug, I was able to locate > > > > > > > > the > > > > > > > > form element on the ajax response. It was the index-5 element > > > > > > > > for your > > > > > > > > test page. My sample code below. Though this still doesn't help > > > > > > > > as to > > > > > > > > why we can't reference it using #test2, maybe someone else can > > > > > > > > get > > > > > > > > something more out of it. > > > > > > > > > I've also tried appended the response to the page and still no > > > > > > > > go. > > > > > > > > > -- > > > > > > > > > var globalHTML; // global variable > > > > > > > > > $(document).ready(function() { > > > > > > > > > $.ajax({ > > > > > > > > url: > > > > > > > > 'http://www.puc.edu/dev/tests/linking-test', > > > > > > > > type: 'GET', > > > > > > > > success: function(html) { > > > > > > > > var $html = $(html); // wrap response > > > > > > > > as jquery object > > > > > > > > > globalHTML = $html; // check object > > > > > > > > with firebug > > > > > > > > > alert( $html.get(5).action ); > > > > > > > > } > > > > > > > > }); > > > > > > > > > }); > > > > > > > > > Using Firebug and looking at the attributes of the object I've > > > > > > > > found > > > > > > > > that the form is on the 5th-index of the object, for your test > > > > > > > > page. > > > > > > > > Though this still doesn't really help much > > > > > > > > > alert( $(html).get(5).action ); > > > > > > > > > On Apr 13, 10:28 am, Nic Hubbard wrote: > > > > > > > > > > Ok, my test now reflects your suggestions. But, sadly, none > > > > > > > > > of that > > > > > > > > > helped, it is still returning undefined. :( > > > > > > > > > > On Apr 13, 1:03 pm, Nic Luciano wrote: > > > > > > > > > > > Hey Nic, > > > > > > > > > > > I have a couple small recommendations- hopefully one will > > > > > > > > > > fix the issue. > > > > > > > > > > > Try using $.get() instead of $.ajax, and specify "type" > > > > > > > > > > option as "html"- > > > > > > > > > > alternatively, you can use $.load() if your ultimate > > > > > > > > > > purpose is to inject > > > > > > > > > > this HTML into DOM. > > > > > > > > > > > In addition rather than using find(), just select by ID as > > > > > > > > > > a subset of the > > > > > > > > > > DOM node.. > > > > > > > > > > > alert($(html).find("#test") becomes > > > > > > > > > > alert($("#test", html)); > > > > > > > > > > > Hope some of this helps... cheers! > > > > > > > > > > > Nic Luciano > > > > > > > > > > Senior Web Developer @ > > > > > > > > > > AdaptiveBluehttp://www.twitter.com/niclucianohttp://www.linkedin.com/in/niclucia
[jQuery] Re: Finding ID within Ajax response
You are right, that did work. Thanks, I really appreciate your help on this! Had you run into this issue before? On Apr 13, 3:33 pm, Ryan wrote: > In my tests wrapping your full test html page in the div seems to > work. Not pretty but works. > > On Apr 13, 11:29 pm, Nic Hubbard wrote: > > > Yeah, but my page returns a full HTML page, so I need to do something > > like: > > > $("body").wrapInner(''); > > > Which, does not seem to work. > > > On Apr 13, 3:14 pm, Ryan wrote: > > > > In that case you would need to add something like > > > > html = ''+html+''; > > > > to your function. Its a bit of an ugly hack I know. > > > > Having played with it a bit now. I think your probably right about it > > > being a jquery bug. It might be worthwhile exploring which function > > > the problem lies with then submitting it to the jquery team. > > > > R > > > > On Apr 13, 10:55 pm, Nic Hubbard wrote: > > > > > Hey, that actually worked! But, why would this have helped? And, is > > > > there a way around this, since the real form that I need to get, I > > > > cannot wrap a div around. > > > > > On Apr 13, 2:46 pm, Ryan wrote: > > > > > > If you wrap your form in a div I think it should work - haven't tested > > > > > it > > > > > > R > > > > > > On Apr 13, 10:22 pm, Nic Hubbard wrote: > > > > > > > Could this be a jQuery bug? > > > > > > > On Apr 13, 2:13 pm, James wrote: > > > > > > > > I still haven't figured it out, but playing around and setting the > > > > > > > ajax response as a jquery object, $(html), and making it global > > > > > > > so I > > > > > > > can view it's attributes through Firebug, I was able to locate the > > > > > > > form element on the ajax response. It was the index-5 element for > > > > > > > your > > > > > > > test page. My sample code below. Though this still doesn't help > > > > > > > as to > > > > > > > why we can't reference it using #test2, maybe someone else can get > > > > > > > something more out of it. > > > > > > > > I've also tried appended the response to the page and still no go. > > > > > > > > -- > > > > > > > > var globalHTML; // global variable > > > > > > > > $(document).ready(function() { > > > > > > > > $.ajax({ > > > > > > > url: 'http://www.puc.edu/dev/tests/linking-test', > > > > > > > type: 'GET', > > > > > > > success: function(html) { > > > > > > > var $html = $(html); // wrap response as > > > > > > > jquery object > > > > > > > > globalHTML = $html; // check object with > > > > > > > firebug > > > > > > > > alert( $html.get(5).action ); > > > > > > > } > > > > > > > }); > > > > > > > > }); > > > > > > > > Using Firebug and looking at the attributes of the object I've > > > > > > > found > > > > > > > that the form is on the 5th-index of the object, for your test > > > > > > > page. > > > > > > > Though this still doesn't really help much > > > > > > > > alert( $(html).get(5).action ); > > > > > > > > On Apr 13, 10:28 am, Nic Hubbard wrote: > > > > > > > > > Ok, my test now reflects your suggestions. But, sadly, none of > > > > > > > > that > > > > > > > > helped, it is still returning undefined. :( > > > > > > > > > On Apr 13, 1:03 pm, Nic Luciano wrote: > > > > > > > > > > Hey Nic, > > > > > > > > > > I have a couple small recommendations- hopefully one will fix > > > > > > > > > the issue. > > > > > > > > > > Try using $.get() instead of $.ajax, and specify "type" > > > > > > > > > option as "html"- > > > > > > > > > alternatively, you can use $.load() if your ultimate purpose > > > > > > > > > is to inject > > > > > > > > > this HTML into DOM. > > > > > > > > > > In addition rather than using find(), just select by ID as a > > > > > > > > > subset of the > > > > > > > > > DOM node.. > > > > > > > > > > alert($(html).find("#test") becomes > > > > > > > > > alert($("#test", html)); > > > > > > > > > > Hope some of this helps... cheers! > > > > > > > > > > Nic Luciano > > > > > > > > > Senior Web Developer @ > > > > > > > > > AdaptiveBluehttp://www.twitter.com/niclucianohttp://www.linkedin.com/in/nicluciano > > > > > > > > > > On Mon, Apr 13, 2009 at 3:35 PM, Nic Hubbard > > > > > > > > > wrote: > > > > > > > > > > > Nope, that does not work either. > > > > > > > > > > > On Apr 13, 12:20 pm, Jack Killpatrick wrote: > > > > > > > > > > > Maybe try: > > > > > > > > > > > > success: function(html){ > > > > > > > > > > > alert($(html).find('form').attr('action')); > > > > > > > > > > > > I had some issues in the past using form id's with the > > > > > > > > > > > jquery form > > > > > > > > > > > plugin, but usually getting it using 'form' worked. > > > > > > > > > > > > That said, since the response isn't in the DOM yet, I'm > > > > > > > > > > > not sure if that > > > > > > > > > > > might present an issue (too/instead). > > > > > >
[jQuery] Re: Finding ID within Ajax response
In my tests wrapping your full test html page in the div seems to work. Not pretty but works. On Apr 13, 11:29 pm, Nic Hubbard wrote: > Yeah, but my page returns a full HTML page, so I need to do something > like: > > $("body").wrapInner(''); > > Which, does not seem to work. > > On Apr 13, 3:14 pm, Ryan wrote: > > > In that case you would need to add something like > > > html = ''+html+''; > > > to your function. Its a bit of an ugly hack I know. > > > Having played with it a bit now. I think your probably right about it > > being a jquery bug. It might be worthwhile exploring which function > > the problem lies with then submitting it to the jquery team. > > > R > > > On Apr 13, 10:55 pm, Nic Hubbard wrote: > > > > Hey, that actually worked! But, why would this have helped? And, is > > > there a way around this, since the real form that I need to get, I > > > cannot wrap a div around. > > > > On Apr 13, 2:46 pm, Ryan wrote: > > > > > If you wrap your form in a div I think it should work - haven't tested > > > > it > > > > > R > > > > > On Apr 13, 10:22 pm, Nic Hubbard wrote: > > > > > > Could this be a jQuery bug? > > > > > > On Apr 13, 2:13 pm, James wrote: > > > > > > > I still haven't figured it out, but playing around and setting the > > > > > > ajax response as a jquery object, $(html), and making it global so I > > > > > > can view it's attributes through Firebug, I was able to locate the > > > > > > form element on the ajax response. It was the index-5 element for > > > > > > your > > > > > > test page. My sample code below. Though this still doesn't help as > > > > > > to > > > > > > why we can't reference it using #test2, maybe someone else can get > > > > > > something more out of it. > > > > > > > I've also tried appended the response to the page and still no go. > > > > > > > -- > > > > > > > var globalHTML; // global variable > > > > > > > $(document).ready(function() { > > > > > > > $.ajax({ > > > > > > url: 'http://www.puc.edu/dev/tests/linking-test', > > > > > > type: 'GET', > > > > > > success: function(html) { > > > > > > var $html = $(html); // wrap response as > > > > > > jquery object > > > > > > > globalHTML = $html; // check object with > > > > > > firebug > > > > > > > alert( $html.get(5).action ); > > > > > > } > > > > > > }); > > > > > > > }); > > > > > > > Using Firebug and looking at the attributes of the object I've found > > > > > > that the form is on the 5th-index of the object, for your test page. > > > > > > Though this still doesn't really help much > > > > > > > alert( $(html).get(5).action ); > > > > > > > On Apr 13, 10:28 am, Nic Hubbard wrote: > > > > > > > > Ok, my test now reflects your suggestions. But, sadly, none of > > > > > > > that > > > > > > > helped, it is still returning undefined. :( > > > > > > > > On Apr 13, 1:03 pm, Nic Luciano wrote: > > > > > > > > > Hey Nic, > > > > > > > > > I have a couple small recommendations- hopefully one will fix > > > > > > > > the issue. > > > > > > > > > Try using $.get() instead of $.ajax, and specify "type" option > > > > > > > > as "html"- > > > > > > > > alternatively, you can use $.load() if your ultimate purpose is > > > > > > > > to inject > > > > > > > > this HTML into DOM. > > > > > > > > > In addition rather than using find(), just select by ID as a > > > > > > > > subset of the > > > > > > > > DOM node.. > > > > > > > > > alert($(html).find("#test") becomes > > > > > > > > alert($("#test", html)); > > > > > > > > > Hope some of this helps... cheers! > > > > > > > > > Nic Luciano > > > > > > > > Senior Web Developer @ > > > > > > > > AdaptiveBluehttp://www.twitter.com/niclucianohttp://www.linkedin.com/in/nicluciano > > > > > > > > > On Mon, Apr 13, 2009 at 3:35 PM, Nic Hubbard > > > > > > > > wrote: > > > > > > > > > > Nope, that does not work either. > > > > > > > > > > On Apr 13, 12:20 pm, Jack Killpatrick wrote: > > > > > > > > > > Maybe try: > > > > > > > > > > > success: function(html){ > > > > > > > > > > alert($(html).find('form').attr('action')); > > > > > > > > > > > I had some issues in the past using form id's with the > > > > > > > > > > jquery form > > > > > > > > > > plugin, but usually getting it using 'form' worked. > > > > > > > > > > > That said, since the response isn't in the DOM yet, I'm not > > > > > > > > > > sure if that > > > > > > > > > > might present an issue (too/instead). > > > > > > > > > > > - Jack > > > > > > > > > > > Nic Hubbard wrote: > > > > > > > > > > > Yes, this is very odd. I have tried it quite a few ways, > > > > > > > > > > > but I can > > > > > > > > > > > never target the form. Any other ideas? > > > > > > > > > > > > It is frustrating because I really need to target a form > > > > > > > > > > > in the html > > > > > > > > > > > re
[jQuery] Re: Finding ID within Ajax response
Yeah, but my page returns a full HTML page, so I need to do something like: $("body").wrapInner(''); Which, does not seem to work. On Apr 13, 3:14 pm, Ryan wrote: > In that case you would need to add something like > > html = ''+html+''; > > to your function. Its a bit of an ugly hack I know. > > Having played with it a bit now. I think your probably right about it > being a jquery bug. It might be worthwhile exploring which function > the problem lies with then submitting it to the jquery team. > > R > > On Apr 13, 10:55 pm, Nic Hubbard wrote: > > > Hey, that actually worked! But, why would this have helped? And, is > > there a way around this, since the real form that I need to get, I > > cannot wrap a div around. > > > On Apr 13, 2:46 pm, Ryan wrote: > > > > If you wrap your form in a div I think it should work - haven't tested > > > it > > > > R > > > > On Apr 13, 10:22 pm, Nic Hubbard wrote: > > > > > Could this be a jQuery bug? > > > > > On Apr 13, 2:13 pm, James wrote: > > > > > > I still haven't figured it out, but playing around and setting the > > > > > ajax response as a jquery object, $(html), and making it global so I > > > > > can view it's attributes through Firebug, I was able to locate the > > > > > form element on the ajax response. It was the index-5 element for your > > > > > test page. My sample code below. Though this still doesn't help as to > > > > > why we can't reference it using #test2, maybe someone else can get > > > > > something more out of it. > > > > > > I've also tried appended the response to the page and still no go. > > > > > > -- > > > > > > var globalHTML; // global variable > > > > > > $(document).ready(function() { > > > > > > $.ajax({ > > > > > url: 'http://www.puc.edu/dev/tests/linking-test', > > > > > type: 'GET', > > > > > success: function(html) { > > > > > var $html = $(html); // wrap response as > > > > > jquery object > > > > > > globalHTML = $html; // check object with > > > > > firebug > > > > > > alert( $html.get(5).action ); > > > > > } > > > > > }); > > > > > > }); > > > > > > Using Firebug and looking at the attributes of the object I've found > > > > > that the form is on the 5th-index of the object, for your test page. > > > > > Though this still doesn't really help much > > > > > > alert( $(html).get(5).action ); > > > > > > On Apr 13, 10:28 am, Nic Hubbard wrote: > > > > > > > Ok, my test now reflects your suggestions. But, sadly, none of that > > > > > > helped, it is still returning undefined. :( > > > > > > > On Apr 13, 1:03 pm, Nic Luciano wrote: > > > > > > > > Hey Nic, > > > > > > > > I have a couple small recommendations- hopefully one will fix the > > > > > > > issue. > > > > > > > > Try using $.get() instead of $.ajax, and specify "type" option as > > > > > > > "html"- > > > > > > > alternatively, you can use $.load() if your ultimate purpose is > > > > > > > to inject > > > > > > > this HTML into DOM. > > > > > > > > In addition rather than using find(), just select by ID as a > > > > > > > subset of the > > > > > > > DOM node.. > > > > > > > > alert($(html).find("#test") becomes > > > > > > > alert($("#test", html)); > > > > > > > > Hope some of this helps... cheers! > > > > > > > > Nic Luciano > > > > > > > Senior Web Developer @ > > > > > > > AdaptiveBluehttp://www.twitter.com/niclucianohttp://www.linkedin.com/in/nicluciano > > > > > > > > On Mon, Apr 13, 2009 at 3:35 PM, Nic Hubbard > > > > > > > wrote: > > > > > > > > > Nope, that does not work either. > > > > > > > > > On Apr 13, 12:20 pm, Jack Killpatrick wrote: > > > > > > > > > Maybe try: > > > > > > > > > > success: function(html){ > > > > > > > > > alert($(html).find('form').attr('action')); > > > > > > > > > > I had some issues in the past using form id's with the jquery > > > > > > > > > form > > > > > > > > > plugin, but usually getting it using 'form' worked. > > > > > > > > > > That said, since the response isn't in the DOM yet, I'm not > > > > > > > > > sure if that > > > > > > > > > might present an issue (too/instead). > > > > > > > > > > - Jack > > > > > > > > > > Nic Hubbard wrote: > > > > > > > > > > Yes, this is very odd. I have tried it quite a few ways, > > > > > > > > > > but I can > > > > > > > > > > never target the form. Any other ideas? > > > > > > > > > > > It is frustrating because I really need to target a form in > > > > > > > > > > the html > > > > > > > > > > response... > > > > > > > > > > > On Apr 13, 11:45 am, James wrote: > > > > > > > > > > >> That's strange. I can't get it to work either and I'm > > > > > > > > > >> getting the same > > > > > > > > > >> results as you (I can get #test2, but not #test). I've > > > > > > > > > >> even truncated > > > > > > > > > >> the response down to as if you're only receiving the
[jQuery] Re: Finding ID within Ajax response
In that case you would need to add something like html = ''+html+''; to your function. Its a bit of an ugly hack I know. Having played with it a bit now. I think your probably right about it being a jquery bug. It might be worthwhile exploring which function the problem lies with then submitting it to the jquery team. R On Apr 13, 10:55 pm, Nic Hubbard wrote: > Hey, that actually worked! But, why would this have helped? And, is > there a way around this, since the real form that I need to get, I > cannot wrap a div around. > > On Apr 13, 2:46 pm, Ryan wrote: > > > If you wrap your form in a div I think it should work - haven't tested > > it > > > R > > > On Apr 13, 10:22 pm, Nic Hubbard wrote: > > > > Could this be a jQuery bug? > > > > On Apr 13, 2:13 pm, James wrote: > > > > > I still haven't figured it out, but playing around and setting the > > > > ajax response as a jquery object, $(html), and making it global so I > > > > can view it's attributes through Firebug, I was able to locate the > > > > form element on the ajax response. It was the index-5 element for your > > > > test page. My sample code below. Though this still doesn't help as to > > > > why we can't reference it using #test2, maybe someone else can get > > > > something more out of it. > > > > > I've also tried appended the response to the page and still no go. > > > > > -- > > > > > var globalHTML; // global variable > > > > > $(document).ready(function() { > > > > > $.ajax({ > > > > url: 'http://www.puc.edu/dev/tests/linking-test', > > > > type: 'GET', > > > > success: function(html) { > > > > var $html = $(html); // wrap response as > > > > jquery object > > > > > globalHTML = $html; // check object with > > > > firebug > > > > > alert( $html.get(5).action ); > > > > } > > > > }); > > > > > }); > > > > > Using Firebug and looking at the attributes of the object I've found > > > > that the form is on the 5th-index of the object, for your test page. > > > > Though this still doesn't really help much > > > > > alert( $(html).get(5).action ); > > > > > On Apr 13, 10:28 am, Nic Hubbard wrote: > > > > > > Ok, my test now reflects your suggestions. But, sadly, none of that > > > > > helped, it is still returning undefined. :( > > > > > > On Apr 13, 1:03 pm, Nic Luciano wrote: > > > > > > > Hey Nic, > > > > > > > I have a couple small recommendations- hopefully one will fix the > > > > > > issue. > > > > > > > Try using $.get() instead of $.ajax, and specify "type" option as > > > > > > "html"- > > > > > > alternatively, you can use $.load() if your ultimate purpose is to > > > > > > inject > > > > > > this HTML into DOM. > > > > > > > In addition rather than using find(), just select by ID as a subset > > > > > > of the > > > > > > DOM node.. > > > > > > > alert($(html).find("#test") becomes > > > > > > alert($("#test", html)); > > > > > > > Hope some of this helps... cheers! > > > > > > > Nic Luciano > > > > > > Senior Web Developer @ > > > > > > AdaptiveBluehttp://www.twitter.com/niclucianohttp://www.linkedin.com/in/nicluciano > > > > > > > On Mon, Apr 13, 2009 at 3:35 PM, Nic Hubbard > > > > > > wrote: > > > > > > > > Nope, that does not work either. > > > > > > > > On Apr 13, 12:20 pm, Jack Killpatrick wrote: > > > > > > > > Maybe try: > > > > > > > > > success: function(html){ > > > > > > > > alert($(html).find('form').attr('action')); > > > > > > > > > I had some issues in the past using form id's with the jquery > > > > > > > > form > > > > > > > > plugin, but usually getting it using 'form' worked. > > > > > > > > > That said, since the response isn't in the DOM yet, I'm not > > > > > > > > sure if that > > > > > > > > might present an issue (too/instead). > > > > > > > > > - Jack > > > > > > > > > Nic Hubbard wrote: > > > > > > > > > Yes, this is very odd. I have tried it quite a few ways, but > > > > > > > > > I can > > > > > > > > > never target the form. Any other ideas? > > > > > > > > > > It is frustrating because I really need to target a form in > > > > > > > > > the html > > > > > > > > > response... > > > > > > > > > > On Apr 13, 11:45 am, James wrote: > > > > > > > > > >> That's strange. I can't get it to work either and I'm > > > > > > > > >> getting the same > > > > > > > > >> results as you (I can get #test2, but not #test). I've even > > > > > > > > >> truncated > > > > > > > > >> the response down to as if you're only receiving the > > > > > > > > >> part and > > > > > > > > >> it still doesn't work. I'd be interested in seeing what > > > > > > > > >> happens here > > > > > > > > >> too. > > > > > > > > > >> On Apr 13, 6:47 am, Nic Hubbard wrote: > > > > > > > > > >>> Test page to show the > > > > > > > > >>> problem:http://www.puc.edu/dev/tests/ajax-test > > > > > > > > > >>>
[jQuery] Re: Finding ID within Ajax response
Hey, that actually worked! But, why would this have helped? And, is there a way around this, since the real form that I need to get, I cannot wrap a div around. On Apr 13, 2:46 pm, Ryan wrote: > If you wrap your form in a div I think it should work - haven't tested > it > > R > > On Apr 13, 10:22 pm, Nic Hubbard wrote: > > > Could this be a jQuery bug? > > > On Apr 13, 2:13 pm, James wrote: > > > > I still haven't figured it out, but playing around and setting the > > > ajax response as a jquery object, $(html), and making it global so I > > > can view it's attributes through Firebug, I was able to locate the > > > form element on the ajax response. It was the index-5 element for your > > > test page. My sample code below. Though this still doesn't help as to > > > why we can't reference it using #test2, maybe someone else can get > > > something more out of it. > > > > I've also tried appended the response to the page and still no go. > > > > -- > > > > var globalHTML; // global variable > > > > $(document).ready(function() { > > > > $.ajax({ > > > url: 'http://www.puc.edu/dev/tests/linking-test', > > > type: 'GET', > > > success: function(html) { > > > var $html = $(html); // wrap response as jquery > > > object > > > > globalHTML = $html; // check object with firebug > > > > alert( $html.get(5).action ); > > > } > > > }); > > > > }); > > > > Using Firebug and looking at the attributes of the object I've found > > > that the form is on the 5th-index of the object, for your test page. > > > Though this still doesn't really help much > > > > alert( $(html).get(5).action ); > > > > On Apr 13, 10:28 am, Nic Hubbard wrote: > > > > > Ok, my test now reflects your suggestions. But, sadly, none of that > > > > helped, it is still returning undefined. :( > > > > > On Apr 13, 1:03 pm, Nic Luciano wrote: > > > > > > Hey Nic, > > > > > > I have a couple small recommendations- hopefully one will fix the > > > > > issue. > > > > > > Try using $.get() instead of $.ajax, and specify "type" option as > > > > > "html"- > > > > > alternatively, you can use $.load() if your ultimate purpose is to > > > > > inject > > > > > this HTML into DOM. > > > > > > In addition rather than using find(), just select by ID as a subset > > > > > of the > > > > > DOM node.. > > > > > > alert($(html).find("#test") becomes > > > > > alert($("#test", html)); > > > > > > Hope some of this helps... cheers! > > > > > > Nic Luciano > > > > > Senior Web Developer @ > > > > > AdaptiveBluehttp://www.twitter.com/niclucianohttp://www.linkedin.com/in/nicluciano > > > > > > On Mon, Apr 13, 2009 at 3:35 PM, Nic Hubbard > > > > > wrote: > > > > > > > Nope, that does not work either. > > > > > > > On Apr 13, 12:20 pm, Jack Killpatrick wrote: > > > > > > > Maybe try: > > > > > > > > success: function(html){ > > > > > > > alert($(html).find('form').attr('action')); > > > > > > > > I had some issues in the past using form id's with the jquery form > > > > > > > plugin, but usually getting it using 'form' worked. > > > > > > > > That said, since the response isn't in the DOM yet, I'm not sure > > > > > > > if that > > > > > > > might present an issue (too/instead). > > > > > > > > - Jack > > > > > > > > Nic Hubbard wrote: > > > > > > > > Yes, this is very odd. I have tried it quite a few ways, but I > > > > > > > > can > > > > > > > > never target the form. Any other ideas? > > > > > > > > > It is frustrating because I really need to target a form in the > > > > > > > > html > > > > > > > > response... > > > > > > > > > On Apr 13, 11:45 am, James wrote: > > > > > > > > >> That's strange. I can't get it to work either and I'm getting > > > > > > > >> the same > > > > > > > >> results as you (I can get #test2, but not #test). I've even > > > > > > > >> truncated > > > > > > > >> the response down to as if you're only receiving the > > > > > > > >> part and > > > > > > > >> it still doesn't work. I'd be interested in seeing what > > > > > > > >> happens here > > > > > > > >> too. > > > > > > > > >> On Apr 13, 6:47 am, Nic Hubbard wrote: > > > > > > > > >>> Test page to show the > > > > > > > >>> problem:http://www.puc.edu/dev/tests/ajax-test > > > > > > > > >>> On Apr 13, 9:33 am, Nic Hubbard wrote: > > > > > > > > I am pulling my hair out over this. I swear that this is a > > > > > > > bug. > > > > > > > > For some reason, I CANNOT target any forms within the html > > > > > > > response. > > > > > > > I have tried very simple examples and it still won't work. > > > > > > > Here is > > > > > > > what I have, that still returns undefined: > > > > > > > > HTML: > > > > > > > http://test.com";> > > > > > > > this is my text > > > > > > > > > > > > > > > jQuery: > > > >
[jQuery] Re: Finding ID within Ajax response
If you wrap your form in a div I think it should work - haven't tested it R On Apr 13, 10:22 pm, Nic Hubbard wrote: > Could this be a jQuery bug? > > On Apr 13, 2:13 pm, James wrote: > > > I still haven't figured it out, but playing around and setting the > > ajax response as a jquery object, $(html), and making it global so I > > can view it's attributes through Firebug, I was able to locate the > > form element on the ajax response. It was the index-5 element for your > > test page. My sample code below. Though this still doesn't help as to > > why we can't reference it using #test2, maybe someone else can get > > something more out of it. > > > I've also tried appended the response to the page and still no go. > > > -- > > > var globalHTML; // global variable > > > $(document).ready(function() { > > > $.ajax({ > > url: 'http://www.puc.edu/dev/tests/linking-test', > > type: 'GET', > > success: function(html) { > > var $html = $(html); // wrap response as jquery > > object > > > globalHTML = $html; // check object with firebug > > > alert( $html.get(5).action ); > > } > > }); > > > }); > > > Using Firebug and looking at the attributes of the object I've found > > that the form is on the 5th-index of the object, for your test page. > > Though this still doesn't really help much > > > alert( $(html).get(5).action ); > > > On Apr 13, 10:28 am, Nic Hubbard wrote: > > > > Ok, my test now reflects your suggestions. But, sadly, none of that > > > helped, it is still returning undefined. :( > > > > On Apr 13, 1:03 pm, Nic Luciano wrote: > > > > > Hey Nic, > > > > > I have a couple small recommendations- hopefully one will fix the issue. > > > > > Try using $.get() instead of $.ajax, and specify "type" option as > > > > "html"- > > > > alternatively, you can use $.load() if your ultimate purpose is to > > > > inject > > > > this HTML into DOM. > > > > > In addition rather than using find(), just select by ID as a subset of > > > > the > > > > DOM node.. > > > > > alert($(html).find("#test") becomes > > > > alert($("#test", html)); > > > > > Hope some of this helps... cheers! > > > > > Nic Luciano > > > > Senior Web Developer @ > > > > AdaptiveBluehttp://www.twitter.com/niclucianohttp://www.linkedin.com/in/nicluciano > > > > > On Mon, Apr 13, 2009 at 3:35 PM, Nic Hubbard > > > > wrote: > > > > > > Nope, that does not work either. > > > > > > On Apr 13, 12:20 pm, Jack Killpatrick wrote: > > > > > > Maybe try: > > > > > > > success: function(html){ > > > > > > alert($(html).find('form').attr('action')); > > > > > > > I had some issues in the past using form id's with the jquery form > > > > > > plugin, but usually getting it using 'form' worked. > > > > > > > That said, since the response isn't in the DOM yet, I'm not sure if > > > > > > that > > > > > > might present an issue (too/instead). > > > > > > > - Jack > > > > > > > Nic Hubbard wrote: > > > > > > > Yes, this is very odd. I have tried it quite a few ways, but I can > > > > > > > never target the form. Any other ideas? > > > > > > > > It is frustrating because I really need to target a form in the > > > > > > > html > > > > > > > response... > > > > > > > > On Apr 13, 11:45 am, James wrote: > > > > > > > >> That's strange. I can't get it to work either and I'm getting > > > > > > >> the same > > > > > > >> results as you (I can get #test2, but not #test). I've even > > > > > > >> truncated > > > > > > >> the response down to as if you're only receiving the part > > > > > > >> and > > > > > > >> it still doesn't work. I'd be interested in seeing what happens > > > > > > >> here > > > > > > >> too. > > > > > > > >> On Apr 13, 6:47 am, Nic Hubbard wrote: > > > > > > > >>> Test page to show the > > > > > > >>> problem:http://www.puc.edu/dev/tests/ajax-test > > > > > > > >>> On Apr 13, 9:33 am, Nic Hubbard wrote: > > > > > > > I am pulling my hair out over this. I swear that this is a > > > > > > bug. > > > > > > > For some reason, I CANNOT target any forms within the html > > > > > > response. > > > > > > I have tried very simple examples and it still won't work. > > > > > > Here is > > > > > > what I have, that still returns undefined: > > > > > > > HTML: > > > > > > http://test.com";> > > > > > > this is my text > > > > > > > > > > > > > jQuery: > > > > > > success: function(html){ > > > > > > alert($(html).find("#test").attr('action')); > > > > > > alert($(html).find("#test2").text()); > > > > > > > } > > > > > > > #test2 works, but #test never does, and it seems this is > > > > > > because it > > > > > is > > > > > > a form. Have I done something wrong here? Can I not target a > > > > > > form? > > > > > > > On
[jQuery] Re: Finding ID within Ajax response
Could this be a jQuery bug? On Apr 13, 2:13 pm, James wrote: > I still haven't figured it out, but playing around and setting the > ajax response as a jquery object, $(html), and making it global so I > can view it's attributes through Firebug, I was able to locate the > form element on the ajax response. It was the index-5 element for your > test page. My sample code below. Though this still doesn't help as to > why we can't reference it using #test2, maybe someone else can get > something more out of it. > > I've also tried appended the response to the page and still no go. > > -- > > var globalHTML; // global variable > > $(document).ready(function() { > > $.ajax({ > url: 'http://www.puc.edu/dev/tests/linking-test', > type: 'GET', > success: function(html) { > var $html = $(html); // wrap response as jquery > object > > globalHTML = $html; // check object with firebug > > alert( $html.get(5).action ); > } > }); > > }); > > Using Firebug and looking at the attributes of the object I've found > that the form is on the 5th-index of the object, for your test page. > Though this still doesn't really help much > > alert( $(html).get(5).action ); > > On Apr 13, 10:28 am, Nic Hubbard wrote: > > > Ok, my test now reflects your suggestions. But, sadly, none of that > > helped, it is still returning undefined. :( > > > On Apr 13, 1:03 pm, Nic Luciano wrote: > > > > Hey Nic, > > > > I have a couple small recommendations- hopefully one will fix the issue. > > > > Try using $.get() instead of $.ajax, and specify "type" option as "html"- > > > alternatively, you can use $.load() if your ultimate purpose is to inject > > > this HTML into DOM. > > > > In addition rather than using find(), just select by ID as a subset of the > > > DOM node.. > > > > alert($(html).find("#test") becomes > > > alert($("#test", html)); > > > > Hope some of this helps... cheers! > > > > Nic Luciano > > > Senior Web Developer @ > > > AdaptiveBluehttp://www.twitter.com/niclucianohttp://www.linkedin.com/in/nicluciano > > > > On Mon, Apr 13, 2009 at 3:35 PM, Nic Hubbard wrote: > > > > > Nope, that does not work either. > > > > > On Apr 13, 12:20 pm, Jack Killpatrick wrote: > > > > > Maybe try: > > > > > > success: function(html){ > > > > > alert($(html).find('form').attr('action')); > > > > > > I had some issues in the past using form id's with the jquery form > > > > > plugin, but usually getting it using 'form' worked. > > > > > > That said, since the response isn't in the DOM yet, I'm not sure if > > > > > that > > > > > might present an issue (too/instead). > > > > > > - Jack > > > > > > Nic Hubbard wrote: > > > > > > Yes, this is very odd. I have tried it quite a few ways, but I can > > > > > > never target the form. Any other ideas? > > > > > > > It is frustrating because I really need to target a form in the html > > > > > > response... > > > > > > > On Apr 13, 11:45 am, James wrote: > > > > > > >> That's strange. I can't get it to work either and I'm getting the > > > > > >> same > > > > > >> results as you (I can get #test2, but not #test). I've even > > > > > >> truncated > > > > > >> the response down to as if you're only receiving the part > > > > > >> and > > > > > >> it still doesn't work. I'd be interested in seeing what happens > > > > > >> here > > > > > >> too. > > > > > > >> On Apr 13, 6:47 am, Nic Hubbard wrote: > > > > > > >>> Test page to show the > > > > > >>> problem:http://www.puc.edu/dev/tests/ajax-test > > > > > > >>> On Apr 13, 9:33 am, Nic Hubbard wrote: > > > > > > I am pulling my hair out over this. I swear that this is a bug. > > > > > > For some reason, I CANNOT target any forms within the html > > > > > response. > > > > > I have tried very simple examples and it still won't work. Here > > > > > is > > > > > what I have, that still returns undefined: > > > > > > HTML: > > > > > http://test.com";> > > > > > this is my text > > > > > > > > > > > jQuery: > > > > > success: function(html){ > > > > > alert($(html).find("#test").attr('action')); > > > > > alert($(html).find("#test2").text()); > > > > > > } > > > > > > #test2 works, but #test never does, and it seems this is because > > > > > it > > > > is > > > > > a form. Have I done something wrong here? Can I not target a > > > > > form? > > > > > > On Apr 12, 4:35 pm, Nic Hubbard wrote: > > > > > > > I have an ajax GET call that returns the HTML of a page on my > > > > server. > > > > > > Within that page is a form with a specific ID. I know it is > > > > > > there, > > > > I > > > > > > can see it in the response in Firebug, but when I try to get > > > > > > attributes of that ID, it always returns undefined
[jQuery] Re: Finding ID within Ajax response
I still haven't figured it out, but playing around and setting the ajax response as a jquery object, $(html), and making it global so I can view it's attributes through Firebug, I was able to locate the form element on the ajax response. It was the index-5 element for your test page. My sample code below. Though this still doesn't help as to why we can't reference it using #test2, maybe someone else can get something more out of it. I've also tried appended the response to the page and still no go. -- var globalHTML; // global variable $(document).ready(function() { $.ajax({ url: 'http://www.puc.edu/dev/tests/linking-test', type: 'GET', success: function(html) { var $html = $(html); // wrap response as jquery object globalHTML = $html; // check object with firebug alert( $html.get(5).action ); } }); }); Using Firebug and looking at the attributes of the object I've found that the form is on the 5th-index of the object, for your test page. Though this still doesn't really help much alert( $(html).get(5).action ); On Apr 13, 10:28 am, Nic Hubbard wrote: > Ok, my test now reflects your suggestions. But, sadly, none of that > helped, it is still returning undefined. :( > > On Apr 13, 1:03 pm, Nic Luciano wrote: > > > Hey Nic, > > > I have a couple small recommendations- hopefully one will fix the issue. > > > Try using $.get() instead of $.ajax, and specify "type" option as "html"- > > alternatively, you can use $.load() if your ultimate purpose is to inject > > this HTML into DOM. > > > In addition rather than using find(), just select by ID as a subset of the > > DOM node.. > > > alert($(html).find("#test") becomes > > alert($("#test", html)); > > > Hope some of this helps... cheers! > > > Nic Luciano > > Senior Web Developer @ > > AdaptiveBluehttp://www.twitter.com/niclucianohttp://www.linkedin.com/in/nicluciano > > > On Mon, Apr 13, 2009 at 3:35 PM, Nic Hubbard wrote: > > > > Nope, that does not work either. > > > > On Apr 13, 12:20 pm, Jack Killpatrick wrote: > > > > Maybe try: > > > > > success: function(html){ > > > > alert($(html).find('form').attr('action')); > > > > > I had some issues in the past using form id's with the jquery form > > > > plugin, but usually getting it using 'form' worked. > > > > > That said, since the response isn't in the DOM yet, I'm not sure if that > > > > might present an issue (too/instead). > > > > > - Jack > > > > > Nic Hubbard wrote: > > > > > Yes, this is very odd. I have tried it quite a few ways, but I can > > > > > never target the form. Any other ideas? > > > > > > It is frustrating because I really need to target a form in the html > > > > > response... > > > > > > On Apr 13, 11:45 am, James wrote: > > > > > >> That's strange. I can't get it to work either and I'm getting the > > > > >> same > > > > >> results as you (I can get #test2, but not #test). I've even truncated > > > > >> the response down to as if you're only receiving the part and > > > > >> it still doesn't work. I'd be interested in seeing what happens here > > > > >> too. > > > > > >> On Apr 13, 6:47 am, Nic Hubbard wrote: > > > > > >>> Test page to show the problem:http://www.puc.edu/dev/tests/ajax-test > > > > > >>> On Apr 13, 9:33 am, Nic Hubbard wrote: > > > > > I am pulling my hair out over this. I swear that this is a bug. > > > > > For some reason, I CANNOT target any forms within the html > > > > response. > > > > I have tried very simple examples and it still won't work. Here is > > > > what I have, that still returns undefined: > > > > > HTML: > > > > http://test.com";> > > > > this is my text > > > > > > > > > jQuery: > > > > success: function(html){ > > > > alert($(html).find("#test").attr('action')); > > > > alert($(html).find("#test2").text()); > > > > > } > > > > > #test2 works, but #test never does, and it seems this is because it > > > is > > > > a form. Have I done something wrong here? Can I not target a > > > > form? > > > > > On Apr 12, 4:35 pm, Nic Hubbard wrote: > > > > > > I have an ajax GET call that returns the HTML of a page on my > > > server. > > > > > Within that page is a form with a specific ID. I know it is > > > > > there, > > > I > > > > > can see it in the response in Firebug, but when I try to get > > > > > attributes of that ID, it always returns undefined! What have I > > > done > > > > > wrong here? > > > > > > success: function(html){ > > > > > > $(html).find('#main_form').each(function() { > > > > > var linking_data = $(this).serialize(); > > > > > var form_action = $(this).attr('action'); > > > > > alert(form_action); > > > > > > }); > > > > > } > > > > > > I have tried to n
[jQuery] Re: Finding ID within Ajax response
Just a guess here - is it possible that jquery will not recognize nodes that are loaded after the document is first rendered? Do you need to rebind? On Apr 13, 4:28 pm, Nic Hubbard wrote: > Ok, my test now reflects your suggestions. But, sadly, none of that > helped, it is still returning undefined. :( > > On Apr 13, 1:03 pm, Nic Luciano wrote: > > > > > Hey Nic, > > > I have a couple small recommendations- hopefully one will fix the issue. > > > Try using $.get() instead of $.ajax, and specify "type" option as "html"- > > alternatively, you can use $.load() if your ultimate purpose is to inject > > this HTML into DOM. > > > In addition rather than using find(), just select by ID as a subset of the > > DOM node.. > > > alert($(html).find("#test") becomes > > alert($("#test", html)); > > > Hope some of this helps... cheers! > > > Nic Luciano > > Senior Web Developer @ > > AdaptiveBluehttp://www.twitter.com/niclucianohttp://www.linkedin.com/in/nicluciano > > > On Mon, Apr 13, 2009 at 3:35 PM, Nic Hubbard wrote: > > > > Nope, that does not work either. > > > > On Apr 13, 12:20 pm, Jack Killpatrick wrote: > > > > Maybe try: > > > > > success: function(html){ > > > > alert($(html).find('form').attr('action')); > > > > > I had some issues in the past using form id's with the jquery form > > > > plugin, but usually getting it using 'form' worked. > > > > > That said, since the response isn't in the DOM yet, I'm not sure if that > > > > might present an issue (too/instead). > > > > > - Jack > > > > > Nic Hubbard wrote: > > > > > Yes, this is very odd. I have tried it quite a few ways, but I can > > > > > never target the form. Any other ideas? > > > > > > It is frustrating because I really need to target a form in the html > > > > > response... > > > > > > On Apr 13, 11:45 am, James wrote: > > > > > >> That's strange. I can't get it to work either and I'm getting the > > > > >> same > > > > >> results as you (I can get #test2, but not #test). I've even truncated > > > > >> the response down to as if you're only receiving the part and > > > > >> it still doesn't work. I'd be interested in seeing what happens here > > > > >> too. > > > > > >> On Apr 13, 6:47 am, Nic Hubbard wrote: > > > > > >>> Test page to show the problem:http://www.puc.edu/dev/tests/ajax-test > > > > > >>> On Apr 13, 9:33 am, Nic Hubbard wrote: > > > > > I am pulling my hair out over this. I swear that this is a bug. > > > > > For some reason, I CANNOT target any forms within the html > > > > response. > > > > I have tried very simple examples and it still won't work. Here is > > > > what I have, that still returns undefined: > > > > > HTML: > > > > http://test.com";> > > > > this is my text > > > > > > > > > jQuery: > > > > success: function(html){ > > > > alert($(html).find("#test").attr('action')); > > > > alert($(html).find("#test2").text()); > > > > > } > > > > > #test2 works, but #test never does, and it seems this is because it > > > is > > > > a form. Have I done something wrong here? Can I not target a > > > > form? > > > > > On Apr 12, 4:35 pm, Nic Hubbard wrote: > > > > > > I have an ajax GET call that returns the HTML of a page on my > > > server. > > > > > Within that page is a form with a specific ID. I know it is > > > > > there, > > > I > > > > > can see it in the response in Firebug, but when I try to get > > > > > attributes of that ID, it always returns undefined! What have I > > > done > > > > > wrong here? > > > > > > success: function(html){ > > > > > > $(html).find('#main_form').each(function() { > > > > > var linking_data = $(this).serialize(); > > > > > var form_action = $(this).attr('action'); > > > > > alert(form_action); > > > > > > }); > > > > > } > > > > > > I have tried to not use each() and that still returns undefined. > > > > > I > > > > > don't get it.
[jQuery] Re: Finding ID within Ajax response
Ok, my test now reflects your suggestions. But, sadly, none of that helped, it is still returning undefined. :( On Apr 13, 1:03 pm, Nic Luciano wrote: > Hey Nic, > > I have a couple small recommendations- hopefully one will fix the issue. > > Try using $.get() instead of $.ajax, and specify "type" option as "html"- > alternatively, you can use $.load() if your ultimate purpose is to inject > this HTML into DOM. > > In addition rather than using find(), just select by ID as a subset of the > DOM node.. > > alert($(html).find("#test") becomes > alert($("#test", html)); > > Hope some of this helps... cheers! > > Nic Luciano > Senior Web Developer @ > AdaptiveBluehttp://www.twitter.com/niclucianohttp://www.linkedin.com/in/nicluciano > > On Mon, Apr 13, 2009 at 3:35 PM, Nic Hubbard wrote: > > > Nope, that does not work either. > > > On Apr 13, 12:20 pm, Jack Killpatrick wrote: > > > Maybe try: > > > > success: function(html){ > > > alert($(html).find('form').attr('action')); > > > > I had some issues in the past using form id's with the jquery form > > > plugin, but usually getting it using 'form' worked. > > > > That said, since the response isn't in the DOM yet, I'm not sure if that > > > might present an issue (too/instead). > > > > - Jack > > > > Nic Hubbard wrote: > > > > Yes, this is very odd. I have tried it quite a few ways, but I can > > > > never target the form. Any other ideas? > > > > > It is frustrating because I really need to target a form in the html > > > > response... > > > > > On Apr 13, 11:45 am, James wrote: > > > > >> That's strange. I can't get it to work either and I'm getting the same > > > >> results as you (I can get #test2, but not #test). I've even truncated > > > >> the response down to as if you're only receiving the part and > > > >> it still doesn't work. I'd be interested in seeing what happens here > > > >> too. > > > > >> On Apr 13, 6:47 am, Nic Hubbard wrote: > > > > >>> Test page to show the problem:http://www.puc.edu/dev/tests/ajax-test > > > > >>> On Apr 13, 9:33 am, Nic Hubbard wrote: > > > > I am pulling my hair out over this. I swear that this is a bug. > > > > For some reason, I CANNOT target any forms within the html response. > > > I have tried very simple examples and it still won't work. Here is > > > what I have, that still returns undefined: > > > > HTML: > > > http://test.com";> > > > this is my text > > > > > > > jQuery: > > > success: function(html){ > > > alert($(html).find("#test").attr('action')); > > > alert($(html).find("#test2").text()); > > > > } > > > > #test2 works, but #test never does, and it seems this is because it > > is > > > a form. Have I done something wrong here? Can I not target a form? > > > > On Apr 12, 4:35 pm, Nic Hubbard wrote: > > > > > I have an ajax GET call that returns the HTML of a page on my > > server. > > > > Within that page is a form with a specific ID. I know it is there, > > I > > > > can see it in the response in Firebug, but when I try to get > > > > attributes of that ID, it always returns undefined! What have I > > done > > > > wrong here? > > > > > success: function(html){ > > > > > $(html).find('#main_form').each(function() { > > > > var linking_data = $(this).serialize(); > > > > var form_action = $(this).attr('action'); > > > > alert(form_action); > > > > > }); > > > > } > > > > > I have tried to not use each() and that still returns undefined. I > > > > don't get it.
[jQuery] Re: Finding ID within Ajax response
Hey Nic, I have a couple small recommendations- hopefully one will fix the issue. Try using $.get() instead of $.ajax, and specify "type" option as "html"- alternatively, you can use $.load() if your ultimate purpose is to inject this HTML into DOM. In addition rather than using find(), just select by ID as a subset of the DOM node.. alert($(html).find("#test") becomes alert($("#test", html)); Hope some of this helps... cheers! Nic Luciano Senior Web Developer @ AdaptiveBlue http://www.twitter.com/nicluciano http://www.linkedin.com/in/nicluciano On Mon, Apr 13, 2009 at 3:35 PM, Nic Hubbard wrote: > > Nope, that does not work either. > > On Apr 13, 12:20 pm, Jack Killpatrick wrote: > > Maybe try: > > > > success: function(html){ > > alert($(html).find('form').attr('action')); > > > > I had some issues in the past using form id's with the jquery form > > plugin, but usually getting it using 'form' worked. > > > > That said, since the response isn't in the DOM yet, I'm not sure if that > > might present an issue (too/instead). > > > > - Jack > > > > Nic Hubbard wrote: > > > Yes, this is very odd. I have tried it quite a few ways, but I can > > > never target the form. Any other ideas? > > > > > It is frustrating because I really need to target a form in the html > > > response... > > > > > On Apr 13, 11:45 am, James wrote: > > > > >> That's strange. I can't get it to work either and I'm getting the same > > >> results as you (I can get #test2, but not #test). I've even truncated > > >> the response down to as if you're only receiving the part and > > >> it still doesn't work. I'd be interested in seeing what happens here > > >> too. > > > > >> On Apr 13, 6:47 am, Nic Hubbard wrote: > > > > >>> Test page to show the problem:http://www.puc.edu/dev/tests/ajax-test > > > > >>> On Apr 13, 9:33 am, Nic Hubbard wrote: > > > > I am pulling my hair out over this. I swear that this is a bug. > > > > For some reason, I CANNOT target any forms within the html response. > > I have tried very simple examples and it still won't work. Here is > > what I have, that still returns undefined: > > > > HTML: > > http://test.com";> > > this is my text > > > > > > jQuery: > > success: function(html){ > > alert($(html).find("#test").attr('action')); > > alert($(html).find("#test2").text()); > > > > } > > > > #test2 works, but #test never does, and it seems this is because it > is > > a form. Have I done something wrong here? Can I not target a form? > > > > On Apr 12, 4:35 pm, Nic Hubbard wrote: > > > > > I have an ajax GET call that returns the HTML of a page on my > server. > > > Within that page is a form with a specific ID. I know it is there, > I > > > can see it in the response in Firebug, but when I try to get > > > attributes of that ID, it always returns undefined! What have I > done > > > wrong here? > > > > > success: function(html){ > > > > > $(html).find('#main_form').each(function() { > > > var linking_data = $(this).serialize(); > > > var form_action = $(this).attr('action'); > > > alert(form_action); > > > > > }); > > > } > > > > > I have tried to not use each() and that still returns undefined. I > > > don't get it. >
[jQuery] Re: Finding ID within Ajax response
Nope, that does not work either. On Apr 13, 12:20 pm, Jack Killpatrick wrote: > Maybe try: > > success: function(html){ > alert($(html).find('form').attr('action')); > > I had some issues in the past using form id's with the jquery form > plugin, but usually getting it using 'form' worked. > > That said, since the response isn't in the DOM yet, I'm not sure if that > might present an issue (too/instead). > > - Jack > > Nic Hubbard wrote: > > Yes, this is very odd. I have tried it quite a few ways, but I can > > never target the form. Any other ideas? > > > It is frustrating because I really need to target a form in the html > > response... > > > On Apr 13, 11:45 am, James wrote: > > >> That's strange. I can't get it to work either and I'm getting the same > >> results as you (I can get #test2, but not #test). I've even truncated > >> the response down to as if you're only receiving the part and > >> it still doesn't work. I'd be interested in seeing what happens here > >> too. > > >> On Apr 13, 6:47 am, Nic Hubbard wrote: > > >>> Test page to show the problem:http://www.puc.edu/dev/tests/ajax-test > > >>> On Apr 13, 9:33 am, Nic Hubbard wrote: > > I am pulling my hair out over this. I swear that this is a bug. > > For some reason, I CANNOT target any forms within the html response. > I have tried very simple examples and it still won't work. Here is > what I have, that still returns undefined: > > HTML: > http://test.com";> > this is my text > > > jQuery: > success: function(html){ > alert($(html).find("#test").attr('action')); > alert($(html).find("#test2").text()); > > } > > #test2 works, but #test never does, and it seems this is because it is > a form. Have I done something wrong here? Can I not target a form? > > On Apr 12, 4:35 pm, Nic Hubbard wrote: > > > I have an ajax GET call that returns the HTML of a page on my server. > > Within that page is a form with a specific ID. I know it is there, I > > can see it in the response in Firebug, but when I try to get > > attributes of that ID, it always returns undefined! What have I done > > wrong here? > > > success: function(html){ > > > $(html).find('#main_form').each(function() { > > var linking_data = $(this).serialize(); > > var form_action = $(this).attr('action'); > > alert(form_action); > > > }); > > } > > > I have tried to not use each() and that still returns undefined. I > > don't get it.
[jQuery] Re: Finding ID within Ajax response
Yes, this is very odd. I have tried it quite a few ways, but I can never target the form. Any other ideas? It is frustrating because I really need to target a form in the html response... On Apr 13, 11:45 am, James wrote: > That's strange. I can't get it to work either and I'm getting the same > results as you (I can get #test2, but not #test). I've even truncated > the response down to as if you're only receiving the part and > it still doesn't work. I'd be interested in seeing what happens here > too. > > On Apr 13, 6:47 am, Nic Hubbard wrote: > > > Test page to show the problem:http://www.puc.edu/dev/tests/ajax-test > > > On Apr 13, 9:33 am, Nic Hubbard wrote: > > > > I am pulling my hair out over this. I swear that this is a bug. > > > > For some reason, I CANNOT target any forms within the html response. > > > I have tried very simple examples and it still won't work. Here is > > > what I have, that still returns undefined: > > > > HTML: > > > http://test.com";> > > > this is my text > > > > > > > jQuery: > > > success: function(html){ > > > alert($(html).find("#test").attr('action')); > > > alert($(html).find("#test2").text()); > > > > } > > > > #test2 works, but #test never does, and it seems this is because it is > > > a form. Have I done something wrong here? Can I not target a form? > > > > On Apr 12, 4:35 pm, Nic Hubbard wrote: > > > > > I have an ajax GET call that returns the HTML of a page on my server. > > > > Within that page is a form with a specific ID. I know it is there, I > > > > can see it in the response in Firebug, but when I try to get > > > > attributes of that ID, it always returns undefined! What have I done > > > > wrong here? > > > > > success: function(html){ > > > > > $(html).find('#main_form').each(function() { > > > > var linking_data = $(this).serialize(); > > > > var form_action = $(this).attr('action'); > > > > alert(form_action); > > > > > }); > > > > } > > > > > I have tried to not use each() and that still returns undefined. I > > > > don't get it.
[jQuery] Re: Finding ID within Ajax response
Nope, that returns undefined as well. :( On Apr 13, 11:34 am, Nathan wrote: > You could try changing this: alert($(html).find("#test").attr > ('action')); > To This: alert($("#test").attr('action')); > > On Apr 13, 9:47 am, Nic Hubbard wrote: > > > Test page to show the problem:http://www.puc.edu/dev/tests/ajax-test > > > On Apr 13, 9:33 am, Nic Hubbard wrote: > > > > I am pulling my hair out over this. I swear that this is a bug. > > > > For some reason, I CANNOT target any forms within the html response. > > > I have tried very simple examples and it still won't work. Here is > > > what I have, that still returns undefined: > > > > HTML: > > > http://test.com";> > > > this is my text > > > > > > > jQuery: > > > success: function(html){ > > > alert($(html).find("#test").attr('action')); > > > alert($(html).find("#test2").text()); > > > > } > > > > #test2 works, but #test never does, and it seems this is because it is > > > a form. Have I done something wrong here? Can I not target a form? > > > > On Apr 12, 4:35 pm, Nic Hubbard wrote: > > > > > I have an ajax GET call that returns the HTML of a page on my server. > > > > Within that page is a form with a specific ID. I know it is there, I > > > > can see it in the response in Firebug, but when I try to get > > > > attributes of that ID, it always returns undefined! What have I done > > > > wrong here? > > > > > success: function(html){ > > > > > $(html).find('#main_form').each(function() { > > > > var linking_data = $(this).serialize(); > > > > var form_action = $(this).attr('action'); > > > > alert(form_action); > > > > > }); > > > > } > > > > > I have tried to not use each() and that still returns undefined. I > > > > don't get it.
[jQuery] Re: Finding ID within Ajax response
Maybe try: success: function(html){ alert($(html).find('form').attr('action')); I had some issues in the past using form id's with the jquery form plugin, but usually getting it using 'form' worked. That said, since the response isn't in the DOM yet, I'm not sure if that might present an issue (too/instead). - Jack Nic Hubbard wrote: Yes, this is very odd. I have tried it quite a few ways, but I can never target the form. Any other ideas? It is frustrating because I really need to target a form in the html response... On Apr 13, 11:45 am, James wrote: That's strange. I can't get it to work either and I'm getting the same results as you (I can get #test2, but not #test). I've even truncated the response down to as if you're only receiving the part and it still doesn't work. I'd be interested in seeing what happens here too. On Apr 13, 6:47 am, Nic Hubbard wrote: Test page to show the problem:http://www.puc.edu/dev/tests/ajax-test On Apr 13, 9:33 am, Nic Hubbard wrote: I am pulling my hair out over this. I swear that this is a bug. For some reason, I CANNOT target any forms within the html response. I have tried very simple examples and it still won't work. Here is what I have, that still returns undefined: HTML: http://test.com";> this is my text jQuery: success: function(html){ alert($(html).find("#test").attr('action')); alert($(html).find("#test2").text()); } #test2 works, but #test never does, and it seems this is because it is a form. Have I done something wrong here? Can I not target a form? On Apr 12, 4:35 pm, Nic Hubbard wrote: I have an ajax GET call that returns the HTML of a page on my server. Within that page is a form with a specific ID. I know it is there, I can see it in the response in Firebug, but when I try to get attributes of that ID, it always returns undefined! What have I done wrong here? success: function(html){ $(html).find('#main_form').each(function() { var linking_data = $(this).serialize(); var form_action = $(this).attr('action'); alert(form_action); }); } I have tried to not use each() and that still returns undefined. I don't get it.
[jQuery] Re: Finding ID within Ajax response
That's strange. I can't get it to work either and I'm getting the same results as you (I can get #test2, but not #test). I've even truncated the response down to as if you're only receiving the part and it still doesn't work. I'd be interested in seeing what happens here too. On Apr 13, 6:47 am, Nic Hubbard wrote: > Test page to show the problem:http://www.puc.edu/dev/tests/ajax-test > > On Apr 13, 9:33 am, Nic Hubbard wrote: > > > I am pulling my hair out over this. I swear that this is a bug. > > > For some reason, I CANNOT target any forms within the html response. > > I have tried very simple examples and it still won't work. Here is > > what I have, that still returns undefined: > > > HTML: > > http://test.com";> > > this is my text > > > > > jQuery: > > success: function(html){ > > alert($(html).find("#test").attr('action')); > > alert($(html).find("#test2").text()); > > > } > > > #test2 works, but #test never does, and it seems this is because it is > > a form. Have I done something wrong here? Can I not target a form? > > > On Apr 12, 4:35 pm, Nic Hubbard wrote: > > > > I have an ajax GET call that returns the HTML of a page on my server. > > > Within that page is a form with a specific ID. I know it is there, I > > > can see it in the response in Firebug, but when I try to get > > > attributes of that ID, it always returns undefined! What have I done > > > wrong here? > > > > success: function(html){ > > > > $(html).find('#main_form').each(function() { > > > var linking_data = $(this).serialize(); > > > var form_action = $(this).attr('action'); > > > alert(form_action); > > > > }); > > > } > > > > I have tried to not use each() and that still returns undefined. I > > > don't get it.
[jQuery] Re: Finding ID within Ajax response
You could try changing this: alert($(html).find("#test").attr ('action')); To This: alert($("#test").attr('action')); On Apr 13, 9:47 am, Nic Hubbard wrote: > Test page to show the problem:http://www.puc.edu/dev/tests/ajax-test > > On Apr 13, 9:33 am, Nic Hubbard wrote: > > > > > I am pulling my hair out over this. I swear that this is a bug. > > > For some reason, I CANNOT target any forms within the html response. > > I have tried very simple examples and it still won't work. Here is > > what I have, that still returns undefined: > > > HTML: > > http://test.com";> > > this is my text > > > > > jQuery: > > success: function(html){ > > alert($(html).find("#test").attr('action')); > > alert($(html).find("#test2").text()); > > > } > > > #test2 works, but #test never does, and it seems this is because it is > > a form. Have I done something wrong here? Can I not target a form? > > > On Apr 12, 4:35 pm, Nic Hubbard wrote: > > > > I have an ajax GET call that returns the HTML of a page on my server. > > > Within that page is a form with a specific ID. I know it is there, I > > > can see it in the response in Firebug, but when I try to get > > > attributes of that ID, it always returns undefined! What have I done > > > wrong here? > > > > success: function(html){ > > > > $(html).find('#main_form').each(function() { > > > var linking_data = $(this).serialize(); > > > var form_action = $(this).attr('action'); > > > alert(form_action); > > > > }); > > > } > > > > I have tried to not use each() and that still returns undefined. I > > > don't get it.
[jQuery] Re: Finding ID within Ajax response
If I understand correctly what you are tring to do, I think what you are looking for is the live() event http://docs.jquery.com/Events/live On Apr 13, 5:47 pm, Nic Hubbard wrote: > Test page to show the problem:http://www.puc.edu/dev/tests/ajax-test > > On Apr 13, 9:33 am, Nic Hubbard wrote: > > > I am pulling my hair out over this. I swear that this is a bug. > > > For some reason, I CANNOT target any forms within the html response. > > I have tried very simple examples and it still won't work. Here is > > what I have, that still returns undefined: > > > HTML: > > http://test.com";> > > this is my text > > > > > jQuery: > > success: function(html){ > > alert($(html).find("#test").attr('action')); > > alert($(html).find("#test2").text()); > > > } > > > #test2 works, but #test never does, and it seems this is because it is > > a form. Have I done something wrong here? Can I not target a form? > > > On Apr 12, 4:35 pm, Nic Hubbard wrote: > > > > I have an ajax GET call that returns the HTML of a page on my server. > > > Within that page is a form with a specific ID. I know it is there, I > > > can see it in the response in Firebug, but when I try to get > > > attributes of that ID, it always returns undefined! What have I done > > > wrong here? > > > > success: function(html){ > > > > $(html).find('#main_form').each(function() { > > > var linking_data = $(this).serialize(); > > > var form_action = $(this).attr('action'); > > > alert(form_action); > > > > }); > > > } > > > > I have tried to not use each() and that still returns undefined. I > > > don't get it.
[jQuery] Re: Finding ID within Ajax response
Test page to show the problem: http://www.puc.edu/dev/tests/ajax-test On Apr 13, 9:33 am, Nic Hubbard wrote: > I am pulling my hair out over this. I swear that this is a bug. > > For some reason, I CANNOT target any forms within the html response. > I have tried very simple examples and it still won't work. Here is > what I have, that still returns undefined: > > HTML: > http://test.com";> > this is my text > > > jQuery: > success: function(html){ > alert($(html).find("#test").attr('action')); > alert($(html).find("#test2").text()); > > } > > #test2 works, but #test never does, and it seems this is because it is > a form. Have I done something wrong here? Can I not target a form? > > On Apr 12, 4:35 pm, Nic Hubbard wrote: > > > I have an ajax GET call that returns the HTML of a page on my server. > > Within that page is a form with a specific ID. I know it is there, I > > can see it in the response in Firebug, but when I try to get > > attributes of that ID, it always returns undefined! What have I done > > wrong here? > > > success: function(html){ > > > $(html).find('#main_form').each(function() { > > var linking_data = $(this).serialize(); > > var form_action = $(this).attr('action'); > > alert(form_action); > > > }); > > } > > > I have tried to not use each() and that still returns undefined. I > > don't get it.
[jQuery] Re: Finding ID within Ajax response
I am pulling my hair out over this. I swear that this is a bug. For some reason, I CANNOT target any forms within the html response. I have tried very simple examples and it still won't work. Here is what I have, that still returns undefined: HTML: http://test.com";> this is my text jQuery: success: function(html){ alert($(html).find("#test").attr('action')); alert($(html).find("#test2").text()); } #test2 works, but #test never does, and it seems this is because it is a form. Have I done something wrong here? Can I not target a form? On Apr 12, 4:35 pm, Nic Hubbard wrote: > I have an ajax GET call that returns the HTML of a page on my server. > Within that page is a form with a specific ID. I know it is there, I > can see it in the response in Firebug, but when I try to get > attributes of that ID, it always returns undefined! What have I done > wrong here? > > success: function(html){ > > $(html).find('#main_form').each(function() { > var linking_data = $(this).serialize(); > var form_action = $(this).attr('action'); > alert(form_action); > > }); > } > > I have tried to not use each() and that still returns undefined. I > don't get it.