Re: formencode.htmlfill.FillingParser chokes on javascript HTML
Ian Bicking <[email protected]> Wed, 18 Nov 2009 15:47:59 -0600
| Newsgroups | gmane.comp.python.formencode |
|---|---|
| Message-ID | <[email protected]> |
\074 could also be substituted for < On Wed, Nov 18, 2009 at 3:45 PM, Aston Motes <[email protected]> wrote: > Another trick might be to split your tag with concatenated strings so > that it doesn't look like HTML. I couldn't (quickly) make htmlfill > break on a simple example, but maybe you could try something like > this: > > function hover(obj, text) {$(obj).append("<" + "span class=flag> > (" + text + ")<" + "/span>");} > > - Aston > > On Wed, Nov 18, 2009 at 1:23 PM, Roy Hyunjin Han > <[email protected]> wrote: >> >> On 11/18/2009 03:49 PM, Ian Bicking wrote: >> > On Wed, Nov 18, 2009 at 2:40 PM, Roy Hyunjin Han >> > <[email protected]> wrote: >> > >> >> Hi, >> >> >> >> I am using formencode.htmlfill() to render a form, but the function is inadvertently parsing my javascript code. Specifically, formencode.htmlfill.FillingParser raises the following exception >> >> >> >> HTMLParseError: malformed start tag >> >> >> >> when it encounters the following jQuery code >> >> >> >> function hover(obj, text) {$(obj).append("<span class=flag> (" + text + ")</span>");} >> >> >> >> and does not raise the exception after I remove the offending code. Perhaps we should strip javascript before htmlfill? >> >> >> > Well... what needs to happen is everything between<script> and >> > </script> should be treated as text, but HTMLParser doesn't understand >> > that. >> > >> > I *think* it would work fine to do: >> > >> > function hover(obj, text) {$(obj).append("<span class=flag> (" >> > + text + ")</span>");} >> > >> > Which is actually something we could do automatically with a regex. >> > Unfortunately right now I can't reproduce, I put a test at the bottom >> > here: http://bitbucket.org/ianb/formencode/src/tip/tests/test_htmlfill.py >> > -- but it passes.Thanks for your suggestion! >> > >> > >> Thanks for your suggestion! >> >> Escaping the brackets does fix the problem with htmlfill(), but it is >> also causing the browser to interpret the brackets literally, so the >> text prints but is not rendered as a span element. >> >> I think for the meantime I will have to do without that bit of >> javascript on the page, because I need to use htmlfill(). >> >> RHH >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day >> trial. Simplify your report design, integration and deployment - and focus on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> FormEncode-discuss mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/formencode-discuss > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > FormEncode-discuss mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/formencode-discuss > -- Ian Bicking | http://blog.ianbicking.org | http://topplabs.org/civichacker ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ FormEncode-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/formencode-discuss