Form within a Form - will it cause problems when submitting?

Discussion in 'HTML' started by Dave Smithz, Apr 13, 2005.

  1. Dave Smithz

    Dave Smithz Guest

    Hello there,

    Summary: Is it OK to use Forms within forms and will the right submit button
    presses correspond to the correct form action?

    Details:

    I want to build a big HTML table which will contain certain functionality
    that requires the forms to have lots of different command buttons.
    I do not want to have to use JavaScript as some users may have it disabled.
    Because of the way I will be laying out the form, it will result in a
    scenario where I have forms within forms.

    Therefore if you imagine the entire table contained within a form, but also
    within that table, I also have other smaller forms with different actions if
    the user presses a submit button within that form. So generally, when a user
    presses a submit button, I want the action that is taken to be the action
    defined by the PARENT form that the submit button is contained within.

    A further example:
    FormA with action "a.htm" has text boxes tb1 tb2, tb3 and a submit button
    (named: Asubmit).
    It also contains FormB with action "b.htm" which has text box tbB1 and tbB2
    and a submit button (named BSubmit).

    If the user presses Asubmit I want the action to be a.htm and at least the
    text boxes data for tb1 - tb3 to be sent.
    If the user presses Bsubmit I want the action to be b.htm and as least the
    text boxes data for tbB1 and tbB2 to be sent.

    Is this how it will work and will this work in all browsers and is it OK by
    HTML standards to do things this way?

    I hope this makes sense.


    Kind regards

    Dave.
     
    Dave Smithz, Apr 13, 2005
    #1
    1. Advertising

  2. Dave Smithz

    Steve Pugh Guest

    "Dave Smithz" <SPAM FREE WORLD> wrote:

    >Summary: Is it OK to use Forms within forms and will the right submit button
    >presses correspond to the correct form action?


    No.

    >Therefore if you imagine the entire table contained within a form, but also
    >within that table, I also have other smaller forms with different actions if
    >the user presses a submit button within that form. So generally, when a user
    >presses a submit button, I want the action that is taken to be the action
    >defined by the PARENT form that the submit button is contained within.


    Get rid of the inner form tags, leaving the inputs as they are. Now
    you have one big form. Pressing any of the submit buttons will submit
    to a single resource on the server. That resource examines the
    submitted data, sees which fields have been filled in, sees which
    submit button (if any) was used to submit the form and then acts
    accordingly.

    In the case of forms with hidden inputs or prefilled/preselected
    inputs this may mean sending a response back to the user asking them
    to confirm/clarify what they wanted to do.

    Or redesign the page to eliminate the overlap.

    >Is this how it will work and will this work in all browsers and is it OK by
    >HTML standards to do things this way?


    No. The HTML spec forbids nested forms. Browser behaviour is likely to
    be erratic. Don't try it. Either use a single resource to handle all
    submissions or redesign the page so that the forms don't overlap.

    Steve

    --
    "My theories appal you, my heresies outrage you,
    I never answer letters and you don't like my tie." - The Doctor

    Steve Pugh <> <http://steve.pugh.net/>
     
    Steve Pugh, Apr 13, 2005
    #2
    1. Advertising

  3. Steve Pugh <> wrote:

    > The HTML spec forbids nested forms. Browser behaviour is likely to
    > be erratic.


    Technically, for an HTML document that contains nested forms, there is
    no such thing as erratic vs. correct behaviour. The HTML specification
    imposes no requirements on processing syntactically incorrect
    documents, so a browser may crash, or say "beep beep" or "D'Oh!",
    or start playing Towers of Hanoi, or even submit some data somewhere,
    without violating the specification.

    (As a matter of quality of implementation, the pragmatically best
    behaviour would probably consist of reporting an error to the user and
    prompting for a user choice between some actions that seem meaningful.
    But browsers typically have no _planned_ error processing in such
    matters.)

    --
    Yucca, http://www.cs.tut.fi/~jkorpela/
    Pages about Web authoring: http://www.cs.tut.fi/~jkorpela/www.html
     
    Jukka K. Korpela, Apr 13, 2005
    #3
  4. Dave Smithz

    mokker

    Joined:
    Oct 30, 2009
    Messages:
    1
    Embedding forms within another isn't nice at all.

    Found this recent blog which definitely provides a way for me to implace another submit button which can be used to load the next dropdown field with JS switched off. Go to markuzweb.blogspot.com/2009/10/embedding-html-forms-within-another.html and read. :captain:
     
    mokker, Oct 30, 2009
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. NotGiven
    Replies:
    3
    Views:
    369
    Michael D. Kersey
    May 13, 2004
  2. Marco Alting
    Replies:
    7
    Views:
    537
    Thomas 'PointedEars' Lahn
    Oct 30, 2003
  3. Kai Grossjohann
    Replies:
    4
    Views:
    288
  4. Tyler Style
    Replies:
    5
    Views:
    145
    Tyler Style
    Feb 8, 2005
  5. Replies:
    2
    Views:
    79
    TheBagbournes
    Mar 18, 2007
Loading...

Share This Page