$('#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 <radioak...@gmail.com> 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.
>

Reply via email to