webForumDet fria alternativet

Infoga smiles problem

JavaScript

1 svar · 1 158 visningar · startad av Rob Tjotj

Medlem sedan okt. 200591 inlägg
Frågan#1

Hej!

Använder följande:

	<script language="Javascript">
	<!--
	function addsmile(smiley) {
	var myField = document.form.text;
	//IE support
	if (document.selection) {
	myField.focus();
	sel = document.selection.createRange();
	sel.text = smiley;
	}
	//MOZILLA/NETSCAPE support
	else if (myField.selectionStart || myField.selectionStart == '0') {
	var startPos = myField.selectionStart;
	var endPos = myField.selectionEnd;
	myField.value = myField.value.substring(0, startPos)
	+ smiley
	+ myField.value.substring(endPos, myField.value.length);
	} else {
	myField.value += smiley;
	}
	}
	// End -->
	</script>

Varför fungerar (ger resultat <IMG SRC="bilder/no.gif" WIDTH="15" HEIGHT="15" BORDER=0>):

<A HREF="javascript:addsmile(':N:')"><IMG SRC="bilder/no.gif" WIDTH="15" HEIGHT="15" BORDER=0> Tummen ner</A>

kod = Replace(kod,":N:","<IMG SRC=""bilder/no.gif"" WIDTH=""15"" HEIGHT=""15"" BORDER=0>")

Men inte (ger resultat =D>):

<A HREF="javascript:addsmile('=D>')"><IMG SRC="bilder/applad.gif" WIDTH="18" HEIGHT="16" BORDER=0> Applåder</A>

kod = Replace(kod,"=D>","<IMG SRC=""bilder/applad.gif"" WIDTH=""18"" HEIGHT=""16"" BORDER=0>")

Jag antar att det har med = att göra men hur löser man det?
Användaren kan ju skriva =D> själv och då vill jag ju att det byts ut, annars hade man kunnat ändra till t.ex. :A).

Medlem sedan okt. 200591 inlägg
#2

Hej igen

Löste det själv.

Jag hade server.htmlencode på lagringen så nu har jag ändrat till

kod = Replace(kod,"=D&gt;","<IMG SRC=""bilder/applad.gif"" WIDTH=""18"" HEIGHT=""16"" BORDER=0>")
264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)