how to dynamically create forms in xhtml with javascript?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Eric  Sessoms

    how to dynamically create forms in xhtml with javascript?

    I am trying to create forms on the fly in strict xhtml using
    javascript. I won't bore you with why, but I should mention that I'm
    only interested in the very latest versions of Mozilla based browsers.

    The basic problem is that the forms do not display. I've included a
    minimal sample below that illustrates this. It validates, I get no
    javascript errors at run time, and most disconcerting of all is that
    the DOM tree looks right after the page has loaded... but still
    nothing.

    Help!

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <title>Test Page</title>
    <script type="text/javascript">
    <![CDATA[
    function init() {
    var input = document.create Element('input' );
    document.getEle mentsByTagName( 'p').item(0).ap pendChild(input );
    }
    ]]>
    </script>
    </head>
    <body onload="init(); ">
    <form id="form" action="">
    <p><!-- The document displays if I include: <input/> --></p>
    </form>
    </body>
    </html>

  • Martin Honnen

    #2
    Re: how to dynamically create forms in xhtml with javascript?



    Eric Sessoms wrote:
    [color=blue]
    > I am trying to create forms on the fly in strict xhtml using
    > javascript. I won't bore you with why, but I should mention that I'm
    > only interested in the very latest versions of Mozilla based browsers.[/color]

    How do you serve the document to Mozilla, as text/html, or as
    application/xhtml+xml, or as application/xml or as text/xml?
    [color=blue]
    > var input = document.create Element('input' );[/color]

    You could try with
    var input =
    document.create ElementNS(
    'http://www.w3.org/1999/xhtml',
    'input'
    );
    instead. That should fix it if you serve as application/xml or text/xml
    which might be the problem.




    --

    Martin Honnen

    Comment

    • Eric  Sessoms

      #3
      Re: how to dynamically create forms in xhtml with javascript?

      Damn, you're good. And fast. Yes, I was serving it as text/xml and
      your suggestion fixed the problem. Thanks very much!

      Comment

      Working...