$('#somediv').append(html);
You're appending to the div with ID 'someDiv'. But you say that this
is the content:
<div class="somediv">
<form id="someform">
<p class="someclass">Name:</p>
<input style="display: none;" type="textbox"
name="somefield"
value="test" />
</p>
</form>
</div>
Note the class="somediv". I'm wondering if that's a typo and it's
actually id="somediv", in which case you'll have 2 divs with identical
IDs.
Just a shot in the dark.
On Mon, Dec 14, 2009 at 11:05 AM, joseph7 <[email protected]> wrote:
> Hi,
>
> So, I'm attempting to add HTML to a document via Ajax, but when I get
> back the content, I'm finding that no matter what I try, I can't get
> it added to the DOM correctly. Basically I'm doing this:
>
> $.post('ajax.php',
> function (data) {
> var html = data.content;
> $('#somediv').append(html);
> }
> );
>
> The HTML I'm loading looks like this:
>
> <div class="somediv">
> <form id="someform">
> <p class="someclass">Name:</p>
> <input style="display: none;" type="textbox"
> name="somefield"
> value="test" />
> </p>
> </form>
> </div>
>
> While the content does show up in the div, if I try to get the form by
> doing $('#someform'), jQuery returns nothing. I've tried using .append
> () and .html(), and neither way gives me what I want. Is there
> something I'm missing here? I know adding objects to the DOM in jQuery
> is ridiculously easy, so I feel like I'm either running up against
> something impossible, or I have a hugely flawed concept of how append
> () and html() work.
>