Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Problem With String Containing JavaScript Escape Character

Reply
Thread Tools

Problem With String Containing JavaScript Escape Character

 
 
Jeff S
Guest
Posts: n/a
 
      11-05-2003
In a VB.NET code behind module, I build a string for a link that points to a
JavaScript function. The two lines of code below show what is relevant.

PopupLink = "javascriptopUpWindow(" & Chr(34) & PopUpWindowTitle & Chr(34)
& ", " & Chr(34) & CurrentEventDetails & ")"
strTemp += "<BR><A HREF='#' onClick='" & PopupLink & "'>" & EventName &
"</A><BR>"

The problem I have is that when the string variables [PopUpWindowTitle] or
[CurrentEventDetails] contain a string with an apostrophe, then the server
throws an error "Unterminated String Constant". This error shows up prior to
the page rendering in the browser (or as the page is being rendered to the
browser - I'm not sure which - but it's before the page shows up in the
browser).

I tried including JavaScript's "\" escape character - but this does not
solve the problem (e.g., PopUpWindowTitle= Replace(PopUpWindowTitle, "'",
"\' "). The server still throws the Unterminated String Constant error.

What can I do about this? I need to include apostrophes in the JavaScript
function call string and VB.NET is ignoring JavaScript's Escape
character -yet honoring JavaScript's syntax rules.

Thanks in advance.


 
Reply With Quote
 
 
 
 
mikeb
Guest
Posts: n/a
 
      11-05-2003
Jeff S wrote:
> In a VB.NET code behind module, I build a string for a link that points to a
> JavaScript function. The two lines of code below show what is relevant.
>
> PopupLink = "javascriptopUpWindow(" & Chr(34) & PopUpWindowTitle & Chr(34)
> & ", " & Chr(34) & CurrentEventDetails & ")"
> strTemp += "<BR><A HREF='#' onClick='" & PopupLink & "'>" & EventName &
> "</A><BR>"
>
> The problem I have is that when the string variables [PopUpWindowTitle] or
> [CurrentEventDetails] contain a string with an apostrophe, then the server
> throws an error "Unterminated String Constant". This error shows up prior to
> the page rendering in the browser (or as the page is being rendered to the
> browser - I'm not sure which - but it's before the page shows up in the
> browser).
>
> I tried including JavaScript's "\" escape character - but this does not
> solve the problem (e.g., PopUpWindowTitle= Replace(PopUpWindowTitle, "'",
> "\' "). The server still throws the Unterminated String Constant error.
>
> What can I do about this? I need to include apostrophes in the JavaScript
> function call string and VB.NET is ignoring JavaScript's Escape
> character -yet honoring JavaScript's syntax rules.
>
> Thanks in advance.
>
>


Are you really getting the error on the server, not the client?

I can see a couple possible problems:

1) in your 2 line sample above, you are missing a Chr(34) term in the
expression that builds PopupLink. it seems that the end of that
expression should be:

CurrentEventDetails & Chr(34) & ")"

not:

CurrentEventDetails & ")"

since you presumably need a closing double quote for the
CurrentEventDetails parameter to the client side PopUpWindow() function.

I'd be willing to bet that the missing Chr(34) expression is in your
code, it's probably just a typo in your post - <soapbox> to which I say,
"cut-n-paste is your friend". It's inexcusable to have typos in code
snippets that can be pasted from the real code. I mean, if you have a
typo in your snippet that is supposed to demonstrate the problem, how
are the readers supposed to know what the problem really is? </soapbox>

2) this is what I believe to be your real problem. Instead of:

Replace(PopUpWindowTitle, "'","\' ")

try using:

Replace(PopUpWindowTitle, "'","\x27")

or:

Replace(PopUpWindowTitle, "'","'")


The browser doesn't do JavaScript-style handling of escape sequences -
it uses Character Entities to escape special characters. And the
browser obviously needs to process the page before it can pass bits of
the page off to the JavaScript processor.

If you replace apostrophes with "\x27", that string of characters means
nothing to the browser, so that's what gets passed in to the JavaScript
processor, which sees it as an escape sequence for the apostrophe.

If you replace with "'", that string of characters is an 'Character
Entity' which the browser translates into an apostrophe before passing
the string on to the JavaScript processor.

Sorry for the long post.
--
mikeb

 
Reply With Quote
 
 
 
 
psb
Guest
Posts: n/a
 
      11-05-2003
response.write ("this is a double "" quote")

output = this is a double " quote




"Jeff S" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> In a VB.NET code behind module, I build a string for a link that points to

a
> JavaScript function. The two lines of code below show what is relevant.
>
> PopupLink = "javascriptopUpWindow(" & Chr(34) & PopUpWindowTitle &

Chr(34)
> & ", " & Chr(34) & CurrentEventDetails & ")"
> strTemp += "<BR><A HREF='#' onClick='" & PopupLink & "'>" & EventName &
> "</A><BR>"
>
> The problem I have is that when the string variables [PopUpWindowTitle] or
> [CurrentEventDetails] contain a string with an apostrophe, then the server
> throws an error "Unterminated String Constant". This error shows up prior

to
> the page rendering in the browser (or as the page is being rendered to the
> browser - I'm not sure which - but it's before the page shows up in the
> browser).
>
> I tried including JavaScript's "\" escape character - but this does not
> solve the problem (e.g., PopUpWindowTitle= Replace(PopUpWindowTitle, "'",
> "\' "). The server still throws the Unterminated String Constant error.
>
> What can I do about this? I need to include apostrophes in the JavaScript
> function call string and VB.NET is ignoring JavaScript's Escape
> character -yet honoring JavaScript's syntax rules.
>
> Thanks in advance.
>
>



 
Reply With Quote
 
Jeff S
Guest
Posts: n/a
 
      11-05-2003
Apparently you saw right through my little ploy to post simpler code to the
newsgroup than what I was actually working with (and with the omission/typo
you correctly concluded). Your <soapbox> points are well taken...

I proceeded to go with your suggestions, but I still get the error. So, I
posted the complete section of code below.

Additionally, on closer observation, the sequence that leads to the error
message appearing is as follows:
1. From the VS.NET IDE, I press F5 to run the project (with the ASPX page in
question set as the start page).
2. The browser window appear, and I see the top part of the ASPX page
rendered (e.g., the page header graphics show up).
3. The messagebox appears displaying the "Error: Unterminated string
constant" message.
4. At this point, only the top part of the page is rendered, and the message
box is displayed in the middle of the browser window. If I click on either
Yes or No (the only two buttons on the message box - prompting to debug or
not), the page does finish rendering in the browser. The page looks fine,
but the links are dead (presumably because the JavaScript function call part
of the link is invalid).

Here's the code (followed by runtime sample values):

For Each CalendarEntry In m_CalendarEntries
If CalendarEntry.EventDateTime = DateToGet Then

'Get the for the JS popup window ready
CurrentDate = CStr(CalendarEntry.EventDateTime)
CurrentEventDetails = CalendarEntry.LongDescription
CurrentEventContact = CalendarEntry.ContactName
CurrentEventContactEmail = CalendarEntry.ContactEMail
CurrentEventName = CalendarEntry.ShortDescription

'CurrentEventName = Replace(CurrentEventName, "'", "''")

'Replace(CurrentEventName, "'", "\x27")
Replace(CurrentEventName, "'", "'")

PopUpWindowTitle = CurrentEventName 'will do for now

PopupLink = "javascriptopUpWindow(" & Chr(34) & PopUpWindowTitle &
Chr(34) & ", " & Chr(34) & CurrentEventDetails & Chr(34) & ", " & Chr(34) &
CurrentEventContact & Chr(34) & ", " & Chr(34) & CurrentEventContactEmail &
Chr(34) & ", " & Chr(34) & CurrentDate & Chr(34) & ")"

strTemp += "<BR><A HREF='#' onClick='" & PopupLink & "'>" &
CurrentEventName & "</A><BR>"
End If
Next

Return strTemp
-------------------------
Sample runtime value of PopupLink:
"javascriptopUpWindow("Bob's Birthday Party", "Bob made it another year!",
"Bob", "(E-Mail Removed)", "11/3/2003")"

Sample runtime value of strTemp:
"<BR><A HREF='#' onClick='javascriptopUpWindow("Bob's Birthday Party",
"Bob made it another year!", "Bob", "(E-Mail Removed)", "11/3/2003")'>Bob's
Birthday Party</A><BR>"

The value "Bob's Birthday Party" comes from a database. If I remove the
apostrophe in the database, then the error does not occur.

Finally, This is obviously a function call; strTemp is eventually written by
the calling code to the .text property of a Label control.

Thanks for taking the time...

Jeff


"mikeb" <(E-Mail Removed)> wrote in message
news:e1y%239K%(E-Mail Removed)...
> Jeff S wrote:
> > In a VB.NET code behind module, I build a string for a link that points

to a
> > JavaScript function. The two lines of code below show what is relevant.
> >
> > PopupLink = "javascriptopUpWindow(" & Chr(34) & PopUpWindowTitle &

Chr(34)
> > & ", " & Chr(34) & CurrentEventDetails & ")"
> > strTemp += "<BR><A HREF='#' onClick='" & PopupLink & "'>" & EventName &
> > "</A><BR>"
> >
> > The problem I have is that when the string variables [PopUpWindowTitle]

or
> > [CurrentEventDetails] contain a string with an apostrophe, then the

server
> > throws an error "Unterminated String Constant". This error shows up

prior to
> > the page rendering in the browser (or as the page is being rendered to

the
> > browser - I'm not sure which - but it's before the page shows up in the
> > browser).
> >
> > I tried including JavaScript's "\" escape character - but this does not
> > solve the problem (e.g., PopUpWindowTitle= Replace(PopUpWindowTitle,

"'",
> > "\' "). The server still throws the Unterminated String Constant error.
> >
> > What can I do about this? I need to include apostrophes in the

JavaScript
> > function call string and VB.NET is ignoring JavaScript's Escape
> > character -yet honoring JavaScript's syntax rules.
> >
> > Thanks in advance.
> >
> >

>
> Are you really getting the error on the server, not the client?
>
> I can see a couple possible problems:
>
> 1) in your 2 line sample above, you are missing a Chr(34) term in the
> expression that builds PopupLink. it seems that the end of that
> expression should be:
>
> CurrentEventDetails & Chr(34) & ")"
>
> not:
>
> CurrentEventDetails & ")"
>
> since you presumably need a closing double quote for the
> CurrentEventDetails parameter to the client side PopUpWindow() function.
>
> I'd be willing to bet that the missing Chr(34) expression is in your
> code, it's probably just a typo in your post - <soapbox> to which I say,
> "cut-n-paste is your friend". It's inexcusable to have typos in code
> snippets that can be pasted from the real code. I mean, if you have a
> typo in your snippet that is supposed to demonstrate the problem, how
> are the readers supposed to know what the problem really is? </soapbox>
>
> 2) this is what I believe to be your real problem. Instead of:
>
> Replace(PopUpWindowTitle, "'","\' ")
>
> try using:
>
> Replace(PopUpWindowTitle, "'","\x27")
>
> or:
>
> Replace(PopUpWindowTitle, "'","'")
>
>
> The browser doesn't do JavaScript-style handling of escape sequences -
> it uses Character Entities to escape special characters. And the
> browser obviously needs to process the page before it can pass bits of
> the page off to the JavaScript processor.
>
> If you replace apostrophes with "\x27", that string of characters means
> nothing to the browser, so that's what gets passed in to the JavaScript
> processor, which sees it as an escape sequence for the apostrophe.
>
> If you replace with "'", that string of characters is an 'Character
> Entity' which the browser translates into an apostrophe before passing
> the string on to the JavaScript processor.
>
> Sorry for the long post.
> --
> mikeb
>



 
Reply With Quote
 
Jeff S
Guest
Posts: n/a
 
      11-05-2003
Thanks, but Response.Write is not relevant to the original problem. You
might want to read questions before posting a response, or at least provide
an explanation of how your response is relevant to the specific question as
asked (if it's not obvious how it relates).




"psb" <(E-Mail Removed)> wrote in message
news:OAFHrY%(E-Mail Removed)...
> response.write ("this is a double "" quote")
>
> output = this is a double " quote
>
>
>
>
> "Jeff S" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
> > In a VB.NET code behind module, I build a string for a link that points

to
> a
> > JavaScript function. The two lines of code below show what is relevant.
> >
> > PopupLink = "javascriptopUpWindow(" & Chr(34) & PopUpWindowTitle &

> Chr(34)
> > & ", " & Chr(34) & CurrentEventDetails & ")"
> > strTemp += "<BR><A HREF='#' onClick='" & PopupLink & "'>" & EventName &
> > "</A><BR>"
> >
> > The problem I have is that when the string variables [PopUpWindowTitle]

or
> > [CurrentEventDetails] contain a string with an apostrophe, then the

server
> > throws an error "Unterminated String Constant". This error shows up

prior
> to
> > the page rendering in the browser (or as the page is being rendered to

the
> > browser - I'm not sure which - but it's before the page shows up in the
> > browser).
> >
> > I tried including JavaScript's "\" escape character - but this does not
> > solve the problem (e.g., PopUpWindowTitle= Replace(PopUpWindowTitle,

"'",
> > "\' "). The server still throws the Unterminated String Constant error.
> >
> > What can I do about this? I need to include apostrophes in the

JavaScript
> > function call string and VB.NET is ignoring JavaScript's Escape
> > character -yet honoring JavaScript's syntax rules.
> >
> > Thanks in advance.
> >
> >

>
>



 
Reply With Quote
 
psb
Guest
Posts: n/a
 
      11-05-2003
JUST SAY THANKS YOU BIATCH.

Dim PopUpLink As String
Dim PopUpWindowTitle As String = "window's title"
Dim CurrentEventDetails As String = "currentevent'sdetails"
Dim strTemp As String
Dim eventName As String

PopUpLink = "javascriptopUpWindow('" & PopUpWindowTitle.Replace("'",
"\'") & "', '" & CurrentEventDetails.Replace("'", "\'") & "')"
strTemp += "<BR><A HREF=""#"" onClick=""" & PopUpLink & """>" &
eventName & "</A><BR>"
Response.Write(strTemp)

JUST BECAUSE YOU ARE NOT GOOD AT DEBUGGING JAVASCRIPT AND HTML DON'T GET
HUFFY AT ME.

THIS WAS EASY!

"Jeff S" <(E-Mail Removed)> wrote in message
news:%232BIh1%(E-Mail Removed)...
> Thanks, but Response.Write is not relevant to the original problem. You
> might want to read questions before posting a response, or at least

provide
> an explanation of how your response is relevant to the specific question

as
> asked (if it's not obvious how it relates).
>
>
>
>
> "psb" <(E-Mail Removed)> wrote in message
> news:OAFHrY%(E-Mail Removed)...
> > response.write ("this is a double "" quote")
> >
> > output = this is a double " quote
> >
> >
> >
> >
> > "Jeff S" <(E-Mail Removed)> wrote in message
> > news:(E-Mail Removed)...
> > > In a VB.NET code behind module, I build a string for a link that

points
> to
> > a
> > > JavaScript function. The two lines of code below show what is

relevant.
> > >
> > > PopupLink = "javascriptopUpWindow(" & Chr(34) & PopUpWindowTitle &

> > Chr(34)
> > > & ", " & Chr(34) & CurrentEventDetails & ")"
> > > strTemp += "<BR><A HREF='#' onClick='" & PopupLink & "'>" & EventName

&
> > > "</A><BR>"
> > >
> > > The problem I have is that when the string variables

[PopUpWindowTitle]
> or
> > > [CurrentEventDetails] contain a string with an apostrophe, then the

> server
> > > throws an error "Unterminated String Constant". This error shows up

> prior
> > to
> > > the page rendering in the browser (or as the page is being rendered to

> the
> > > browser - I'm not sure which - but it's before the page shows up in

the
> > > browser).
> > >
> > > I tried including JavaScript's "\" escape character - but this does

not
> > > solve the problem (e.g., PopUpWindowTitle= Replace(PopUpWindowTitle,

> "'",
> > > "\' "). The server still throws the Unterminated String Constant

error.
> > >
> > > What can I do about this? I need to include apostrophes in the

> JavaScript
> > > function call string and VB.NET is ignoring JavaScript's Escape
> > > character -yet honoring JavaScript's syntax rules.
> > >
> > > Thanks in advance.
> > >
> > >

> >
> >

>
>



 
Reply With Quote
 
Jeff S
Guest
Posts: n/a
 
      11-05-2003
Thanks - you saved me a bunch of time.

That's big of you to get all offended and STILL take the time to write an
accurate and understandable response. It works great. I obviously wasn't
high enough on the HTML/Javascript learning code to see how your original
response was relevant. Thanks for the boost!




"psb" <(E-Mail Removed)> wrote in message
news:%23Nuz3E$(E-Mail Removed)...
> JUST SAY THANKS YOU BIATCH.
>
> Dim PopUpLink As String
> Dim PopUpWindowTitle As String = "window's title"
> Dim CurrentEventDetails As String = "currentevent'sdetails"
> Dim strTemp As String
> Dim eventName As String
>
> PopUpLink = "javascriptopUpWindow('" & PopUpWindowTitle.Replace("'",
> "\'") & "', '" & CurrentEventDetails.Replace("'", "\'") & "')"
> strTemp += "<BR><A HREF=""#"" onClick=""" & PopUpLink & """>" &
> eventName & "</A><BR>"
> Response.Write(strTemp)
>
> JUST BECAUSE YOU ARE NOT GOOD AT DEBUGGING JAVASCRIPT AND HTML DON'T GET
> HUFFY AT ME.
>
> THIS WAS EASY!
>
> "Jeff S" <(E-Mail Removed)> wrote in message
> news:%232BIh1%(E-Mail Removed)...
> > Thanks, but Response.Write is not relevant to the original problem. You
> > might want to read questions before posting a response, or at least

> provide
> > an explanation of how your response is relevant to the specific question

> as
> > asked (if it's not obvious how it relates).
> >
> >
> >
> >
> > "psb" <(E-Mail Removed)> wrote in message
> > news:OAFHrY%(E-Mail Removed)...
> > > response.write ("this is a double "" quote")
> > >
> > > output = this is a double " quote
> > >
> > >
> > >
> > >
> > > "Jeff S" <(E-Mail Removed)> wrote in message
> > > news:(E-Mail Removed)...
> > > > In a VB.NET code behind module, I build a string for a link that

> points
> > to
> > > a
> > > > JavaScript function. The two lines of code below show what is

> relevant.
> > > >
> > > > PopupLink = "javascriptopUpWindow(" & Chr(34) & PopUpWindowTitle &
> > > Chr(34)
> > > > & ", " & Chr(34) & CurrentEventDetails & ")"
> > > > strTemp += "<BR><A HREF='#' onClick='" & PopupLink & "'>" &

EventName
> &
> > > > "</A><BR>"
> > > >
> > > > The problem I have is that when the string variables

> [PopUpWindowTitle]
> > or
> > > > [CurrentEventDetails] contain a string with an apostrophe, then the

> > server
> > > > throws an error "Unterminated String Constant". This error shows up

> > prior
> > > to
> > > > the page rendering in the browser (or as the page is being rendered

to
> > the
> > > > browser - I'm not sure which - but it's before the page shows up in

> the
> > > > browser).
> > > >
> > > > I tried including JavaScript's "\" escape character - but this does

> not
> > > > solve the problem (e.g., PopUpWindowTitle= Replace(PopUpWindowTitle,

> > "'",
> > > > "\' "). The server still throws the Unterminated String Constant

> error.
> > > >
> > > > What can I do about this? I need to include apostrophes in the

> > JavaScript
> > > > function call string and VB.NET is ignoring JavaScript's Escape
> > > > character -yet honoring JavaScript's syntax rules.
> > > >
> > > > Thanks in advance.
> > > >
> > > >
> > >
> > >

> >
> >

>
>



 
Reply With Quote
 
mikeb
Guest
Posts: n/a
 
      11-06-2003
Jeff S wrote:
> Apparently you saw right through my little ploy to post simpler code to the
> newsgroup than what I was actually working with (and with the omission/typo
> you correctly concluded). Your <soapbox> points are well taken...
>
> I proceeded to go with your suggestions, but I still get the error. So, I
> posted the complete section of code below.


Change this section of code:

Replace(CurrentEventName, "'", "'")

PopUpWindowTitle = CurrentEventName 'will do for now

to:

PopUpWindowTitle = Replace(CurrentEventName, "'", "'")

As your code stands now, you're throwing away the results of the
Replace() call.

Note that you'll have to something similar for each of your parameters
to PopUpWindow()

>
> Additionally, on closer observation, the sequence that leads to the error
> message appearing is as follows:
> 1. From the VS.NET IDE, I press F5 to run the project (with the ASPX page in
> question set as the start page).
> 2. The browser window appear, and I see the top part of the ASPX page
> rendered (e.g., the page header graphics show up).
> 3. The messagebox appears displaying the "Error: Unterminated string
> constant" message.
> 4. At this point, only the top part of the page is rendered, and the message
> box is displayed in the middle of the browser window. If I click on either
> Yes or No (the only two buttons on the message box - prompting to debug or
> not), the page does finish rendering in the browser. The page looks fine,
> but the links are dead (presumably because the JavaScript function call part
> of the link is invalid).
>
> Here's the code (followed by runtime sample values):
>
> For Each CalendarEntry In m_CalendarEntries
> If CalendarEntry.EventDateTime = DateToGet Then
>
> 'Get the for the JS popup window ready
> CurrentDate = CStr(CalendarEntry.EventDateTime)
> CurrentEventDetails = CalendarEntry.LongDescription
> CurrentEventContact = CalendarEntry.ContactName
> CurrentEventContactEmail = CalendarEntry.ContactEMail
> CurrentEventName = CalendarEntry.ShortDescription
>
> 'CurrentEventName = Replace(CurrentEventName, "'", "''")
>
> 'Replace(CurrentEventName, "'", "\x27")
> Replace(CurrentEventName, "'", "'")
>
> PopUpWindowTitle = CurrentEventName 'will do for now
>
> PopupLink = "javascriptopUpWindow(" & Chr(34) & PopUpWindowTitle &
> Chr(34) & ", " & Chr(34) & CurrentEventDetails & Chr(34) & ", " & Chr(34) &
> CurrentEventContact & Chr(34) & ", " & Chr(34) & CurrentEventContactEmail &
> Chr(34) & ", " & Chr(34) & CurrentDate & Chr(34) & ")"
>
> strTemp += "<BR><A HREF='#' onClick='" & PopupLink & "'>" &
> CurrentEventName & "</A><BR>"
> End If
> Next
>
> Return strTemp
> -------------------------
> Sample runtime value of PopupLink:
> "javascriptopUpWindow("Bob's Birthday Party", "Bob made it another year!",
> "Bob", "(E-Mail Removed)", "11/3/2003")"
>
> Sample runtime value of strTemp:
> "<BR><A HREF='#' onClick='javascriptopUpWindow("Bob's Birthday Party",
> "Bob made it another year!", "Bob", "(E-Mail Removed)", "11/3/2003")'>Bob's
> Birthday Party</A><BR>"
>
> The value "Bob's Birthday Party" comes from a database. If I remove the
> apostrophe in the database, then the error does not occur.
>
> Finally, This is obviously a function call; strTemp is eventually written by
> the calling code to the .text property of a Label control.
>
> Thanks for taking the time...
>
> Jeff
>
>
> "mikeb" <(E-Mail Removed)> wrote in message
> news:e1y%239K%(E-Mail Removed)...
>
>>Jeff S wrote:
>>
>>>In a VB.NET code behind module, I build a string for a link that points

>
> to a
>
>>>JavaScript function. The two lines of code below show what is relevant.
>>>
>>>PopupLink = "javascriptopUpWindow(" & Chr(34) & PopUpWindowTitle &

>
> Chr(34)
>
>>>& ", " & Chr(34) & CurrentEventDetails & ")"
>>>strTemp += "<BR><A HREF='#' onClick='" & PopupLink & "'>" & EventName &
>>>"</A><BR>"
>>>
>>>The problem I have is that when the string variables [PopUpWindowTitle]

>
> or
>
>>>[CurrentEventDetails] contain a string with an apostrophe, then the

>
> server
>
>>>throws an error "Unterminated String Constant". This error shows up

>
> prior to
>
>>>the page rendering in the browser (or as the page is being rendered to

>
> the
>
>>>browser - I'm not sure which - but it's before the page shows up in the
>>>browser).
>>>
>>>I tried including JavaScript's "\" escape character - but this does not
>>>solve the problem (e.g., PopUpWindowTitle= Replace(PopUpWindowTitle,

>
> "'",
>
>>>"\' "). The server still throws the Unterminated String Constant error.
>>>
>>>What can I do about this? I need to include apostrophes in the

>
> JavaScript
>
>>>function call string and VB.NET is ignoring JavaScript's Escape
>>>character -yet honoring JavaScript's syntax rules.
>>>
>>>Thanks in advance.
>>>
>>>

>>
>>Are you really getting the error on the server, not the client?
>>
>>I can see a couple possible problems:
>>
>> 1) in your 2 line sample above, you are missing a Chr(34) term in the
>>expression that builds PopupLink. it seems that the end of that
>>expression should be:
>>
>> CurrentEventDetails & Chr(34) & ")"
>>
>>not:
>>
>> CurrentEventDetails & ")"
>>
>>since you presumably need a closing double quote for the
>>CurrentEventDetails parameter to the client side PopUpWindow() function.
>>
>>I'd be willing to bet that the missing Chr(34) expression is in your
>>code, it's probably just a typo in your post - <soapbox> to which I say,
>> "cut-n-paste is your friend". It's inexcusable to have typos in code
>>snippets that can be pasted from the real code. I mean, if you have a
>>typo in your snippet that is supposed to demonstrate the problem, how
>>are the readers supposed to know what the problem really is? </soapbox>
>>
>> 2) this is what I believe to be your real problem. Instead of:
>>
>> Replace(PopUpWindowTitle, "'","\' ")
>>
>> try using:
>>
>> Replace(PopUpWindowTitle, "'","\x27")
>>
>> or:
>>
>> Replace(PopUpWindowTitle, "'","'")
>>
>>
>>The browser doesn't do JavaScript-style handling of escape sequences -
>>it uses Character Entities to escape special characters. And the
>>browser obviously needs to process the page before it can pass bits of
>>the page off to the JavaScript processor.
>>
>>If you replace apostrophes with "\x27", that string of characters means
>>nothing to the browser, so that's what gets passed in to the JavaScript
>>processor, which sees it as an escape sequence for the apostrophe.
>>
>>If you replace with "'", that string of characters is an 'Character
>>Entity' which the browser translates into an apostrophe before passing
>>the string on to the JavaScript processor.
>>
>>Sorry for the long post.
>>--
>>mikeb
>>

>


--
mikeb

 
Reply With Quote
 
mikeb
Guest
Posts: n/a
 
      11-06-2003
Jeff S wrote:

> Thanks - you saved me a bunch of time.
>
> That's big of you to get all offended and STILL take the time to write an
> accurate and understandable response. It works great. I obviously wasn't
> high enough on the HTML/Javascript learning code to see how your original
> response was relevant. Thanks for the boost!
>


One thing to be careful of, is that with the posted fix you will run
into the same problem if the text you pull out of the database contains
a double-quote character. Admittedly, this will be rare (or
non-existent) compared with the apostrophe, but it might bite you at
some point.

>
>
>
> "psb" <(E-Mail Removed)> wrote in message
> news:%23Nuz3E$(E-Mail Removed)...
>
>>JUST SAY THANKS YOU BIATCH.
>>
>> Dim PopUpLink As String
>> Dim PopUpWindowTitle As String = "window's title"
>> Dim CurrentEventDetails As String = "currentevent'sdetails"
>> Dim strTemp As String
>> Dim eventName As String
>>
>> PopUpLink = "javascriptopUpWindow('" & PopUpWindowTitle.Replace("'",
>>"\'") & "', '" & CurrentEventDetails.Replace("'", "\'") & "')"
>> strTemp += "<BR><A HREF=""#"" onClick=""" & PopUpLink & """>" &
>>eventName & "</A><BR>"
>> Response.Write(strTemp)
>>
>>JUST BECAUSE YOU ARE NOT GOOD AT DEBUGGING JAVASCRIPT AND HTML DON'T GET
>>HUFFY AT ME.
>>
>>THIS WAS EASY!
>>
>>"Jeff S" <(E-Mail Removed)> wrote in message
>>news:%232BIh1%(E-Mail Removed).. .
>>
>>>Thanks, but Response.Write is not relevant to the original problem. You
>>>might want to read questions before posting a response, or at least

>>
>>provide
>>
>>>an explanation of how your response is relevant to the specific question

>>
>>as
>>
>>>asked (if it's not obvious how it relates).
>>>
>>>
>>>
>>>
>>>"psb" <(E-Mail Removed)> wrote in message
>>>news:OAFHrY%(E-Mail Removed). ..
>>>
>>>>response.write ("this is a double "" quote")
>>>>
>>>>output = this is a double " quote
>>>>
>>>>
>>>>
>>>>
>>>>"Jeff S" <(E-Mail Removed)> wrote in message
>>>>news:(E-Mail Removed).. .
>>>>
>>>>>In a VB.NET code behind module, I build a string for a link that

>>
>>points
>>
>>>to
>>>
>>>>a
>>>>
>>>>>JavaScript function. The two lines of code below show what is

>>
>>relevant.
>>
>>>>>PopupLink = "javascriptopUpWindow(" & Chr(34) & PopUpWindowTitle &
>>>>
>>>>Chr(34)
>>>>
>>>>>& ", " & Chr(34) & CurrentEventDetails & ")"
>>>>>strTemp += "<BR><A HREF='#' onClick='" & PopupLink & "'>" &

>
> EventName
>
>>&
>>
>>>>>"</A><BR>"
>>>>>
>>>>>The problem I have is that when the string variables

>>
>>[PopUpWindowTitle]
>>
>>>or
>>>
>>>>>[CurrentEventDetails] contain a string with an apostrophe, then the
>>>
>>>server
>>>
>>>>>throws an error "Unterminated String Constant". This error shows up
>>>
>>>prior
>>>
>>>>to
>>>>
>>>>>the page rendering in the browser (or as the page is being rendered

>
> to
>
>>>the
>>>
>>>>>browser - I'm not sure which - but it's before the page shows up in

>>
>>the
>>
>>>>>browser).
>>>>>
>>>>>I tried including JavaScript's "\" escape character - but this does

>>
>>not
>>
>>>>>solve the problem (e.g., PopUpWindowTitle= Replace(PopUpWindowTitle,
>>>
>>>"'",
>>>
>>>>>"\' "). The server still throws the Unterminated String Constant

>>
>>error.
>>
>>>>>What can I do about this? I need to include apostrophes in the
>>>
>>>JavaScript
>>>
>>>>>function call string and VB.NET is ignoring JavaScript's Escape
>>>>>character -yet honoring JavaScript's syntax rules.
>>>>>
>>>>>Thanks in advance.
>>>>>
>>>>>
>>>>
>>>>
>>>

>>

>
>


 
Reply With Quote
 
keyur shah
Guest
Posts: n/a
 
      11-06-2003
You are initiating char(34) where are u ending it in ur code...
surprising.... it wont work until u balance parenthesis, quotes..
blaaaah blaaaah...

Keyur Shah
Verizon Communications
732-423-0745

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Escape character for single quotes. Is it really required in String? Mausam Java 4 02-07-2012 07:11 PM
Escape character in java How can use double quote in string Sanjeev Java 3 05-03-2008 06:59 PM
How to read strings cantaining escape character from a file and useit as escape sequences? slomo Python 5 12-02-2007 11:39 AM
escape character in XML text string Testbruger@intervisit.com XML 7 01-24-2004 06:43 PM
Javascript double quote escape character? Alden Streeter ASP General 1 11-26-2003 09:45 PM



Advertisments