Submit form to different script & window

Discussion in 'Javascript' started by Terence Parker, Aug 17, 2004.

  1. I have a form which enables users to type in some text in a <TEXTAREA>,
    allowing them to use HTML. I have defined two submit buttons - one to
    submit as usual, but one which I would like to popup another window and
    submit the typed text to different action/script to give a preview.

    So far I have done this (removing the excess formatting HTML for clarity):

    ----------
    <SCRIPT language="JavaScript" type="text/javascript">
    function submitForm(t) {
    window.open("", t, "width=500,height=450");
    return true
    }
    </SCRIPT>


    <form action="user_message.php" method="POST" name="UserMessage">
    <textarea cols="55" rows="15" name="content"></textarea>
    <INPUT type="submit" value="Modify Message">
    </form>

    <form method="POST" name="Preview" action="preview_message.php"
    onsubmit="return submitForm(this.target)" target="preview">
    <input type="hidden" name="content" value="">
    <input type="submit" name="submit" value="Preview Message">
    </form>
    -----------

    The normal submit obviously works ; the 'preview' submit successfully
    pops up another window but because it is submitting a different form it
    doesn't contain the value of my textarea.

    I have tried adding:
    document.form.Preview.content.value =
    document.form.UserMessage.content.value;

    - but this did not work. In fact, this resulted in the popup losing its
    attributes too (i.e. not Hx500;Wx450).

    I've also considered putting the 'preview' button as part of the first
    form and using an 'OnClick' instead - but couldn't get this working either.

    Anyone have any suggestions on how to achieve what I want to do?

    Thanks,

    Terence
     
    Terence Parker, Aug 17, 2004
    #1
    1. Advertising

  2. On Tue, 17 Aug 2004 13:17:28 +0800, Terence Parker
    <> wrote:

    [snip]

    > Anyone have any suggestions on how to achieve what I want to do?


    I would suggest NOT trying what you want to do. You have server-side
    capabilities, so use them.

    Detect on the server whether the form is intended for submission or
    preview. If it's the latter, produce a page similar to the editing page,
    but with a section that contains a preview of the message. No needless
    JavaScript dependency and no reliance on (possibly disabled) pop-ups.

    JavaScript, and everything you can do with it, should be considered an
    optional component. Relying on it can break a site.

    By the way, you probably don't want to do this:

    <textarea cols="55" rows="15" name="content"></textarea>
    <!-- .... -->
    <input type="hidden" name="content" value="">

    That is likely[1] to produce a collection of 'content' values, not one.

    Mike


    [1] I say "likely", because a user agent doesn't have to submit form
    controls that have no value. However, some obviously will. I also don't
    know if you alter the value with JavaScript.

    --
    Michael Winter
    Replace ".invalid" with ".uk" to reply by e-mail
     
    Michael Winter, Aug 17, 2004
    #2
    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. Replies:
    2
    Views:
    6,299
  2. Network-Man
    Replies:
    5
    Views:
    78,909
    gaul1
    Jul 7, 2012
  3. Jim Mesara
    Replies:
    0
    Views:
    143
    Jim Mesara
    Aug 27, 2003
  4. Replies:
    2
    Views:
    378
  5. Replies:
    3
    Views:
    733
Loading...

Share This Page