Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #33633
| Newsgroups | comp.lang.javascript |
|---|---|
| Date | 2017-07-23 20:14 -0700 |
| References | <bc8875a5-1a83-4bc4-8653-66d85ab67ec8@googlegroups.com> <1a3f1888-e578-458c-9d0e-243efbb35ab9@googlegroups.com> <cb338d8c-34eb-4865-bcc5-634b64bc3613@googlegroups.com> <5de62444-a96d-466d-acd0-9710b1f2dcff@googlegroups.com> |
| Message-ID | <66fd59a7-e89c-4d40-be7c-1d80b0fa4c28@googlegroups.com> (permalink) |
| Subject | Re: Crazy Quotes! |
| From | justaguy <lichunshen84@gmail.com> |
On Sunday, July 23, 2017 at 12:01:19 PM UTC-4, Julio Di Egidio wrote:
> On Sunday, July 23, 2017 at 5:33:37 PM UTC+2, justaguy wrote:
> > On Sunday, July 23, 2017 at 11:18:04 AM UTC-4, Julio Di Egidio wrote:
> > > On Sunday, July 23, 2017 at 5:57:09 AM UTC+2, justaguy wrote:
> > > > var cond = 'yes',
> > > > lineX = '',
> > > > oid = 7;
> > > >
> > > > if (cond == 'Yes') {lineX =
> > > > "<br><input type=button value=Update onclick=doSomething("+oid+")>" +
> > > > " " +
> > > > "<a href=mycomment.cfm?Number="+oid+" target=_new>Comment</a>";
> > > > }
> > > >
> > > > var doSomething = function(oid) {
> > > > console.log(oid);
> > > > }
> > > >
> > > > Of the above, the quotes for the line with "onclick=soSomething()..."
> > > > drives me nuts. How to fix them?
> > >
> > > That code is just "ugly": the advice really is manipulate the DOM instead.
> > >
> > > That said, it is not even just about escaping quotes within quotes: html
> > > attributes should be html-encoded (no built-in function to do this, anyway
> > > there are only 4 characters to escape: ", <, >, and &), plus url parameters
> > > should be url-encoded (use encodeURIComponent there).
> > >
> > > Anyway, assuming your attributes (your oid in particular) need no encoding,
> > > here is how a single-quoted string looks like:
> > >
> > > '<br><input type="button" value="Update" ' +
> > > 'onclick="doSomething("' + oid + '")">' +
> > > ' ' +
> > > '<a href="mycomment.cfm?Number=' + oid + '" target="_new">Comment</a>'
> > >
> > > And here is the double-quoted one, for comparison:
> > >
> > > "<br><input type=\"button\" value=\"Update\" " +
> > > "onclick=\"doSomething("" + oid + "")\">" +
> > > " " +
> > > "<a href=\"mycomment.cfm?Number=" + oid + "\" target=\"_new\">Comment</a>"
> > >
> > > Not tested, there may be typos: but you get the picture...
> >
> > Yes, it works. So, lesson learned: the key here is to use the
> > " in html format. Thought I tried to '" + oid + "' to no avail.
>
> Or you could have used single-quotes there, since single-quotes need not be
> html-encoded:
>
> 'onclick="doSomething(\'' + oid + '\')">' +
>
> or:
>
> "onclick=\"doSomething('" + oid + "')\">" +
>
> Still a terrible approach... ;)
>
> Julio
Ok, thanks.
Back to comp.lang.javascript | Previous | Next — Previous in thread | Find similar | Unroll thread
Crazy Quotes! justaguy <lichunshen84@gmail.com> - 2017-07-22 20:56 -0700
Re: Crazy Quotes! "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2017-07-23 10:51 +0200
Re: Crazy Quotes! justaguy <lichunshen84@gmail.com> - 2017-07-23 06:17 -0700
Re: Crazy Quotes! "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2017-07-23 17:24 +0200
Re: Crazy Quotes! justaguy <lichunshen84@gmail.com> - 2017-07-23 08:36 -0700
Re: Crazy Quotes! Julio Di Egidio <julio@diegidio.name> - 2017-07-23 08:17 -0700
Re: Crazy Quotes! justaguy <lichunshen84@gmail.com> - 2017-07-23 08:33 -0700
Re: Crazy Quotes! Julio Di Egidio <julio@diegidio.name> - 2017-07-23 09:01 -0700
Re: Crazy Quotes! justaguy <lichunshen84@gmail.com> - 2017-07-23 20:14 -0700
csiph-web