Submit form to different script & window

T

Terence Parker

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
 
M

Michael Winter

On Tue, 17 Aug 2004 13:17:28 +0800, Terence Parker

[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.
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,020
Latest member
GenesisGai

Latest Threads

Top