webForumDet fria alternativet

Varför tar bort ett tecken?

JavaScript

9 svar · 281 visningar · startad av Asa

Medlem sedan dec. 20011 860 inlägg
Frågan#1

Har denna kod:

<script>
function htmlin(textEl,tagstart, tagSlut) {
	if (textEl.createTextRange && textEl.caretPos) {
	var caretPos = textEl.caretPos;
	caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? tagstart + textE1 + tagSlut : tagstart + textE1 + tagSlut;
	document.form.textarean.focus();
	klistra(textEl);
    }
}
function klistra(textEl) {
	if (textEl.createTextRange)
	textEl.caretPos = document.selection.createRange().duplicate();
	textE1 = (document.all) ? document.selection.createRange().text : document.getSelection();
}
</script>

<form method="post" action="#" name="form">
  <textarea rows="10" cols="50" name="textarean" onKeydown="klistra(this)" onClick="klistra(this);" onMouseUp="klistra(this);" onload="this().focus"></textarea>
</form>
<a href="#" onclick="htmlin(form.textarean,'[koden]', '');">[koden]</a>

Fast när man skriver nåt i textarean och sen klickar på [koden] så tas ett tecken bort i texten man skrivit. Nån som vet varför och isåfall kan fixa till koden... Hoppas nån kan..

Medlem sedan dec. 20011 860 inlägg
#2

Ingen som har nån idé eller?

Medlem sedan dec. 20011 860 inlägg
#3

Nån borde ju veta. Snälla...

Medlem sedan apr. 20031 660 inlägg
#4

HEJ!

Laborera med att lägg till 1 på lämpligt ställe?

Det står ju även -1 här, caretPos.text.length - 1, men det är väl början av arean?

Medlem sedan dec. 20011 860 inlägg
#5

Det är i klistra() funktionen som det strular. Jag kan nada om javascript... :(

Medlem sedan dec. 20011 860 inlägg
#6

Såg en mysko sak. Om jag bara skriver rätt upp och ner utan att flytta markören ifrån textarean till ett annat ställe då tar den bort ett tecken före men markerar jag nån annanstans i textarean så funkar det.

Det är ju konstigt..

Medlem sedan apr. 20003 174 inlägg
#7

onKeydown="klistra(this)"

Du sparar ju nerslaget på tangenten och då blir det ju fel i matematiken...
Ändra till:

[red]onKeyup="klistra(this)"[/red]

istället så kommer det nog fungera bättre.

Medlem sedan dec. 20011 860 inlägg
#8

Ahh, så rätt såå. Tackar så hemskt mycket :)

Medlem sedan apr. 20003 174 inlägg
#9

Np :bire

Markera gärna tråden som löst ockå. :)

Medlem sedan dec. 20011 860 inlägg
#10

Klart och tack så mycket!

257 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)