webForumDet fria alternativet

Skriva ut textarea till javascript alert

ASP

9 svar · 464 visningar · startad av mattiasnordin

Medlem sedan maj 20012 080 inlägg
Frågan#1

Går det att skriva ut innehållet ur en textarea (som sparas i en databas) i ett javascript alert ?

Antar att man måste erstätta tecken för att det ska fungera?!

<%=rs("history")%>
<% varHistory = rs("history") %>
<a href="#" OnClick="javascript:alert('<%=varHistory%>')"><img src="ico_history.gif" border=0></a>

Får här felmeddelandet...

Unterminatde string constant

:(

Medlem sedan juni 200032 967 inlägg
#2

Du måste escapea eventuella apostrofer. Escape i javascript är backslash. Alltså:

<a href="#" onclick="alert('<%=replace(varHistory, "'", "\\'")%>')"><img src="ico_history.gif" border=0></a>

(du behöver inte ha "javascript:" i onclick-attributet).

Medlem sedan aug. 20039 340 inlägg
#3

Du måste ersätta:

' med \'
" med &amp;quot;
\ med \\
radbrytning (vbclfr eller något i asp tror jag) med <br /> allt med ett mellanslag

Det kan hända att asp automatiskt tolkar vissa av sakerna där som escape'ade men då får du se till att det som står till vänster verkligen ersätts med det som står till höger.

Medlem sedan maj 20012 080 inlägg
#4

Denna funktion fungerar för mig. Hur ser den ut för er som kan ?

<% function funAlertFormat(string)
	if isnull(string) = true then string = " "	'Replace klarar inte tomma strängar
	string = replace(string, "'", "&rsquo;") 
	string = replace(string,vbcrlf,"\n") 
	funAlertFormat = string
end function %>

Men jag har fortfarande problem med tecken -> "

string = replace(string, """, "&quot;")

Fungerar inte för mig... Annars så ser det bra ut.

Medlem sedan juni 200032 967 inlägg
#5

Kör en Server.HTMLEncode också då.

Medlem sedan aug. 20039 340 inlägg
#6
<% function funAlertFormat(string)
	if isnull(string) = true then string = " "	'Replace klarar inte tomma strängar
	string = replace(string, "'", "&rsquo;") 
	string = replace(string,vbcrlf,"\n") 
	string = replace(string,"\","\\") 
	string = replace(string,""","&amp;quot;") 

	funAlertFormat = string
end function %>
Medlem sedan maj 20012 080 inlägg
#7
<% function funAlertFormat(string)
	if isnull(string) = true then string = " "	'Replace klarar inte tomma strängar
	string = replace(string, "'", "&rsquo;") 
	string = replace(string,vbcrlf,"\n") 
	string = replace(string, """", "&quot;") 
	funAlertFormat = string
end function %>

Nu är det bara tecken -> \ som jag inte får använda. Kan man lösa det?

Medlem sedan maj 20012 080 inlägg
#8

Snabba svar. Det uppskattas. Nu börjar det nog bli klart.

<% function funAlertFormat(string)
	if isnull(string) = true then string = " "	'Replace klarar inte tomma strängar
	string = replace(string, "'", "&rsquo;") 	'Hanterar tecken -> '
	string = replace(string, """", "&quot;") 	'Hanterar tecken -> "
	string = replace(string,"\","\\") 			'Hanterar tecken -> \
	string = replace(string,vbcrlf,"\n") 		'Hanterar tecken -> radbrytning
	funAlertFormat = string
end function %>

Problemet jag hade med \ var att raderna
string = replace(string,"\","\\")
string = replace(string,vbcrlf,"\n")
inte fick vara i omvänd ordning.

Tack för hjälpen alla!

Medlem sedan aug. 20039 340 inlägg
#9

En sak här: När du postade koden så ersattes & quot; med ". Se upp om du skulle hamna i situationen att du ska kopiera och klistra in koden. (Från ditt inlägg)

Medlem sedan maj 20012 080 inlägg
#10

Oj... så sant.

FR33 P0RN (link above) Is the sexiest page around i've seen in a while ;)

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)