On Tuesday 03 August 2004 17:34, John McGrath wrote: Something possibly even cooler (as long as the client is IE 5.5+; otherwise, it won't show up) I recently stumbled over is
http://www.interactivetools.com/products/htmlarea/ which turns a <textarea> into a configurable WYSIWYG HTML editor. Easy to use and 'BSD licensed', IIRC. -- Chris. > javascript'll preserve line feeds. functions below. to replace > newlines with <br/> tags when submitting, do this: > > <html:form action="*.do" onSubmit="newlinesToHtml( this );"> > > then to convert the other way, say when editing the same content, put > this or something like it at the bottom of the page: > > <script language="JavaScript"> > <!-- > htmlToNewlines( document.forms[0] ); > //--> > </script> > > > > function htmlToNewlines( theForm ) { > for( var i=0; i<theForm.length; i++ ) { > if( theForm.elements[i].type == "textarea" ) { > theForm.elements[i-1].value = > theForm.elements[i-1].value.replace(/<br \/>/g,'\n'); > } > } > } > > function newlinesToHtml( theForm ) { > for( var i=0; i<theForm.length; i++ ) { > if( theForm.elements[i].type == "textarea" ) { > theForm.elements[i-1].value = > theForm.elements[i-1].value.replace(/\n/g, '<br/>'); > } > } > } > > > > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Monday, August 02, 2004 9:24 PM > To: Struts Users Mailing List > Subject: Re: How to render html embedded in a text-area? > > > > > > > > Looks like I went a bit over the top with the embedded html proposal. > > It seems the users would be content if whatever they'd keyed into a > text-area looked the same when subsequently re-displayed as text in a > document. > > ie just preserve the line-feeds, no need for bolding etc. > > Any ideas? > > >If you want someone to see the visualized text as they are typing, > >you're going to need something like a "rich text" component that > > does that sort of thing in JavaScript. The standard HTML > > <textarea> element > > > >that Struts uses doesn't help you, even if the HTML elements are > >literally embedded. > > > >If you are taking content and then literally embedding it in your > > page with something like <bean:write>, you can turn off the > > filtering by saying filter="false" in the attributes of this tag. > > Be aware, however, that in doing so *you* are taking responsibility > > for avoiding cross site scripting attacks from potentially > > malicious users that try to embed JavaScript markup. Most likely, > > you'll need to scan the text and only allow HTML elements that are > > reasonably harmless (like <b>). > > > > > >Craig > > > >> Hi All, > >> > >> I have a struts app that lets users input into text-areas. > >> Whatever the user entered will later be displayed as text. To give > >> users some control over presentation, I'd like to allow them to > >> enter html directly into a text-area. Struts appears to convert > >> all html to harmless displayable text, so that <hr> appears quite > >> literally as '<hr>' rather than as a horizontal line. > >> > >> How can I allow users to input effective html? And is there any > >> way I > > can > > >> ring-fence what they enter, so that any html errors they make > >> don't > > bring > > >> the whole page down? > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]