Hi, As Colin points out, you're trying to treat a String object like a Document (by calling getElementById), which isn't going to work.
You have a couple of options. 1. Use string parsing to isolate the markup in that string for the element you want. Once you have just that markup, you can use that with the #update call. This could be fairly challenging to do in the general case (or maybe you have massive Regex fu), but perhaps in your specific case it might be simpler. 2. Alternately, use a document fragment[1][2]. This is to a large extent what document fragments are for -- holding copies of things and mucking about with them off-to-the-side. I was surprised not to have an example lying around and wanted to refresh my memory, so here's a small example: http://pastie.org/512428 (Supply your own 'fragment2.html'; it can be any valid HTML doc, make sure it has an element with the ID 'two' in it -- or change the ID used in the example.) Basically, I request the page via Ajax.Request, then create a fragment to hold the result and (because I'm lazy) a div inside that fragment so that I can use Prototype's Element#update function. I put the retrieved document inside the div (almost certainly creating a completely invalid document temporarily!), then go find the element inside that with the ID I want, and update a target div with that element. Note this line: elm = findElementByID(div, 'two'); I coded up a quick recursive-descent lookup function for finding the element by ID because you can't use document.getElementById (or Prototype's $) to find it in the fragment -- the fragment isn't in the document (which is probably a good thing, otherwise you'd be massively worried about ID conflicts loading up an entire page like this). Interestingly, if you're using Prototype 1.6.1 RC2, you could (as of the time of this writing) use: elm = div.select('#two'); ...instead, because apparently Prototype's new Sizzle-based selector engine finds the element correctly, wheras in 1.6.0.3 the old selector engine doesn't. But I wouldn't. Firstly, the simple recursive- descent function is small and doesn't take long; secondly, I wouldn't bet on future changes not causing Element#select to stop working in this context -- barring finding documentation saying that it will, of course. I don't know Sizzle well enough to know if it intentionally handles this situation. [1] https://developer.mozilla.org/en/dom/documentfragment [2] http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-B63ED1A3 HTH, -- T.J. Crowder tj / crowder software / com Independent Software Engineer, consulting services available On Jun 13, 10:04 pm, fufolewe <rentsch.dan...@gmail.com> wrote: > Hi, > > I have a simple problem which is driving me nuts: > > I would like to make an AJAX req which returns the whole page - select > an element by its ID from the response text and update "targetDiv" > with this element (myDivID). > > But it doenst work :/ > > function loadContent(url) { > > new Ajax.Request(url, { > method: 'get', > onSuccess: function(transport) { > > var response = transport.responseText; > > var element = response.getElementById( 'myDivID'); > > $('targetDiv').update(element); > > } > }); > > } > > Some ideas? > > thx --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to prototype-scriptaculous@googlegroups.com To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---