webForumDet fria alternativet

Flytta markör till sista tecknet i en textbox

JavaScript

2 svar · 531 visningar · startad av lilja

Medlem sedan juli 20041 183 inlägg
Frågan#1

Jag lägger till en text sist i en textbox när man klickar på en länk vilket fungerar bra, även om jag skulle vilja lägga till texten där markören är.

Min fråga och det jag vill göra är att jag har en lista med "gästboksinlägg". När man trycker på en länk "svara" som finns på varje inlägg vill jag att en textbox får fokus (formuläret ligger en bit ner på sidan och man behöver scrolla) samt att markören ställer sig sist i texten.

Detta skall fungera i åtminstone Firefox och Internet Explorer. Detta är vad jag testat:

document.getElementById('mMessage').focus(); // Verkar ha fungerat i tidigare versioner
document.getElementById('mMessage').select(); // Flyttar markören till textboxen och markerar all text men scrollar inte fönstret. Jag vill se textboxen och inte markera all text. Jag vill bara att markören skall stå sist.

Jag har en ankarlänk vid början av formuläret om det hjälper?

Jag har googlat och sökt här på forumet ett tag nu men lyckas inte hitta rätt.

Medlem sedan juli 20041 183 inlägg
#2

Äsh, nu fattade jag hur jag kunde scrolla sidan. Jag flyttade javascriptet i länken till onclick-attributet och la in ankarlänken i href.

<a href="#createcomment" onclick="reply('Sven Svensson')">Svara</a>

Problemet med fokus och markören sist i textboxen kvarstår dock.

Medlem sedan juli 20041 183 inlägg
#3

Hmm, typiskt. Nu är jag ännu närmre lösningen. Jag vet inte varför då stället jag hittade detta på länkar till en sida som inte längre finns men om man väntar lite med att sätta fokus fungerar det.

function reply(name) {
	textBox = document.getElementById('mMessage');
	setTimeout("textBox.focus();",1);
	textBox.value += ">>" + name +"\n";
}

Nu är det enda problemet att markören inte ställer sig sist i Internet Explorer utan först. I Firefox fungerar det fint.

278 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
150 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)