I will try these suggestions but I doubt they will work as the
javascript portions of get_page have both single and double quoted
sections that probably can't be replaced without breaking the
javascript.

What's frustrating about jQuery and javascripted actions in context of
web development in general, and in this case, my web2py app, is that
they break the DRYness of my code. It seems like I always have to
write one set of page-rendering code for the initial page generation,
and then another set of html to generate the sub-sections of the page
that will be created in response to a javascript event. I really want
to render the different sections of the page from the same code at all
times. Does anyone have any insights into how to structure your code
to be DRY while still being able to pull off a page that can be
generated in its entirety by a straight URL call or in pieces by ajax
calls that target specific subsections of the page? It assumes a page
that has all sorts of different kinds of things, including css
widgets, straight html, and javascripts.

On Oct 11, 2:02 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
> assuming s is valid html you can also try
> 'jQuery("#target").html("%s");' % s.replace('"','\\"')
>
> On Oct 11, 12:04 pm, Thadeus Burgess <thade...@thadeusb.com> wrote:
>
>
>
> > I would think that your function, is returning a qoute of some sort, which
> > is canceling out the qoute around .html, which is throwing off the
> > javascript errors.
>
> > this
>
> > 'jQuery("#target").html("%s");' % ('<strong class="hi"> this is a strong
> > sentence that breaks the javascript</strong')
>
> > Notice the qoutes where it defines class=. Try  changing all double qoutes
> > to single qoutes, see if that fixes your problem.
>
> > I ran into this as well, and single qoutes in the html fixed my problem.
>
> > -Thadeus
>
> > On Sun, Oct 11, 2009 at 11:33 AM, weheh <richard_gor...@verizon.net> wrote:
>
> > > Massimo, I tried all your callbacks and none of them can render
> > > get_page. I should have noted that get_page is the exact same function
> > > that I use to successfully render the sub-page initially when the user
> > > clicks on the link that takes them to this particular page.
>
> > > That said, the text portion of get_page is rendered correctly by the
> > > following callbacks:
>
> > >  return "jQuery('#target').html(%s);" % repr(text)
> > >  return "jQuery('#target').html(%s);" % sj.dumps(str(text))
> > > and this works, too, but ' is quoted \'
> > >  return "jQuery('#target').html('%s');" % sj.dumps(repr(text))
>
> > > I would never have thought to invoke sj.dumps to do the job of
> > > rendering the text. I'm curious why this should even work?
>
> > > get_page calls a function show_buttons() that generates the buttons on
> > > the page. These are rollover-type buttons with a sharethis button,
> > > which is javascript. Taking, the divide and conquer approach to
> > > debugging the problem, I also tried the following callbacks, with the
> > > results shown as comments below. None of the javascripts worked to
> > > render the buttons.
>
> > >  return "jQuery('#target').html(%s);" % show_buttons() #fails: error
> > > missing } in sharethis javascript
> > >  return "jQuery('#target').html(%s);" % repr(show_buttons()) #fails:
> > > nothing renders, error "missing = in XML attribute"
> > >  return "jQuery('#target').html(%s);" % sj.dumps(str(show_buttons()))
> > > #fails: only sharethis button renders, but sharethis function not
> > > defined when you click on the button. None of the css rollover buttons
> > > render. And rest of webpage is mysteriously cleared.
> > >  return "jQuery('#target').html(%s);" % sj.dumps(repr(show_buttons
> > > ())) #fails: Nothing renders, but target is cleared.
> > >  return "jQuery('#target').html('%s');" % sj.dumps(str(show_buttons
> > > ())) #fails: nothing renders, error: "missing ) after argument list"
> > >  return "jQuery('#target').html('%s');" % sj.dumps(repr(show_buttons
> > > ())) #fails: renders pair of double quotes "" in target div
> > >  return 'jQuery("#target").html("%s");' % sj.dumps(str(show_buttons
> > > ())) #fails: nothing renders, error: "missing ) after argument list"
> > >  return 'jQuery("#target").html("%s");' % sj.dumps(repr(show_buttons
> > > ())) #fails: nothing renders, error: "missing ) after argument list"- 
> > > Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to