webForumDet fria alternativet
Logga in / Bli medlem

Citera?

JavaScript

2 svar · 280 visningar · startad av Havregryn

Medlem sedan juni 200288 inlägg
Trådstart#1

Jag har sett att en del sidor använder sig av ett ganska smart javascript när det gäller att citera. Det fungerar så att man markerar den text man vill citera med musen. Därefter trycker man på citera-knappen, och så hamnar allt i en textarea, typ:
[#citat=Arne Anka]Det här var den texten som jag markerade[#/citat]

Och man vill ju inte gärna sno kod av någon annan, och eftersom jag i sin tur är riktigt värdelös på Javascript, undrar jag om någon har någon fungerande lösning på detta som man skulle kunna använda sig av? :l

Medlem sedan nov. 20017 144 inlägg
#2

Detta tror jag är IE-specifikt och jag tror att det skall finnas något liknande som är crossbrowser (i.a.f. mera crossbrowser)

<script type="text/javascript">
function makeQuotation(strName){ 
var sel = document.selection.createRange().text;
	if(!sel==''){
		document.foo.bar.value+='[ citat='+strName+']'+sel+'[/citat]';
	}else{
		alert('Inget är markerat!');
	}
}
</script>
Markera en text och limma in!
<br>
<form name="foo">
<textarea name="bar">
</textarea>
<br>
<input type="button" onClick="makeQuotation('Arne-Anka')" value="[Citera]">
</form>
Medlem sedan juni 200288 inlägg
#3

Okej, det bästa vore förstås något som fungerar i alla webbläsare...

Jag testade ditt script Jesper, och det fungerade fint tills...
man skulle citera en person med mellanrum i namnet. Då kollapsede det totalt, och man kunde inte citera alls.

262 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)