Oops! this is brilliant! Thank you!! I just had to introduce one extra step due to the way how json dumps strings:
if string.startswith('"') and string.endswith('"'): string = string[1:-1] On Thu, Jun 20, 2019 at 3:09 PM Val K <valq7...@gmail.com> wrote: > Enter code here... > > Eureka! there is json! > safe_js_str = json.dumps(string_with_any_bad_char) > > now you can insert it in js code as > 'var s = %s' % safe_js_str # it is already quoted > > > > On Thursday, June 20, 2019 at 9:54:43 PM UTC+3, Vlad wrote: >> >> the problem is that I don't know what they may enter, it could be >> anything. >> I just need to feed back whatever they entered in the middle of some js >> action. >> the objective is that whatever they enter - any characters - should >> simply be taken as a string by the browser >> >> >> On Thu, Jun 20, 2019 at 2:52 PM Val K <valq...@gmail.com> wrote: >> >>> I think there is no universal way because js is just a string in python >>> context, >>> you have to escape quotes with backslash (replace " with \") where it is >>> required to prevent crumbling strings in js-code >>> What is the second char? dot? >>> >>> >>> On Thursday, June 20, 2019 at 8:32:08 PM UTC+3, Vlad wrote: >>>> >>>> I have a form with an input text field. >>>> >>>> The form is submitted via POST. >>>> >>>> The vars value is read and passed over into response.js to run some >>>> action. >>>> >>>> All works perfect until that field has special characters, like " and >>>> the like. Javascript does't like it. It doesn't see that as a string, but >>>> rather as a part of the js code so it breaks. >>>> >>>> How do I encode / convert that field's value so that it wouldn't affect >>>> html/js on the output? >>>> >>> -- >>> Resources: >>> - http://web2py.com >>> - http://web2py.com/book (Documentation) >>> - http://github.com/web2py/web2py (Source code) >>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>> --- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "web2py-users" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/web2py/fSTMUW9ObVU/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> web...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/web2py/254be43e-4d76-4b33-ab2b-7434eaad85b8%40googlegroups.com >>> <https://groups.google.com/d/msgid/web2py/254be43e-4d76-4b33-ab2b-7434eaad85b8%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/fSTMUW9ObVU/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > web2py+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/web2py/98cd6c0e-d7c2-4e48-bfa1-5316be115b94%40googlegroups.com > <https://groups.google.com/d/msgid/web2py/98cd6c0e-d7c2-4e48-bfa1-5316be115b94%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/CABZ%2BKCCgfAaKYGsh7fR4Aw7ayDDArPktOdGwVATDTx53_GRidQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.