webForumDet fria alternativet

Längdräknare på textarea

ASP

7 svar · 342 visningar · startad av Asa

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

Skulle vilja ha en grej som räknar längden på en textarea som inte är gjort på javascript. Vet att man kan kolla längden på det som skrivit med Len() men vill ha nåt lite mer avancerat. Någon som har tips på hur man skulle kunna göra!?

Javascriptet för längdräknare som jag haft gör att det liksom hänger sig när man skriver i fältet så skulle vilja slippa det.

Hoppas på bra lösning!

Medlem sedan juni 200032 967 inlägg
#2

Hur hade du tänkt att det skulle fungera? ASP körs ju på servern, så då kan du kolla efter det att du postat formuläret hur mycket innehåll som skrivits i rutan. Jag antar att det inte är det du vill?

Medlem sedan dec. 20011 860 inlägg
#3

Joo men då måste man korta av det lr nåt och då kan medlemmarna bli griniga. Haru nåt tips på hur man kan göra på smidigt sätt så de ungefär vet hur mycket/vilken text som är för mycket. Utöver tillåtna tecken?

Medlem sedan juni 200032 967 inlägg
#4

De javascript jag sett för dynamisk längdberäkning av formulärfältsinnehåll har fungerat helt grejt, och inte varit för långsamma. Hur ser ditt nuvarande script ut?

Medlem sedan dec. 20011 860 inlägg
#5

Koden i .js filen:

function MaxLangd(obj,maxchars){
	var labelname = obj.name + 'counter';
	if (obj.value.length > maxchars)
		obj.value = obj.value.substr(0, maxchars)

	if (navigator.userAgent.indexOf('Gecko') >= 0)
		document.getElementById(labelname).innerHTML = obj.value.length;
	else
		document.getElementById(labelname).innerText = obj.value.length;
}

function klistra(textEl) {
	if (textEl.createTextRange)
	textEl.caretPos = document.selection.createRange().duplicate();
	textE1 = (document.all) ? document.selection.createRange().text : document.getSelection();
}

Koden i formen:

<form action="mess_save.asp" name="maila" method="post">

<textarea rows="15" style="width:100%" name="mess" onKeydown="klistra(this)" onClick="klistra(this);" onMouseUp="klistra(this);" onKeyUp="MaxLangd(this,2000);" onload="this().focus" onChange="javascript:while(''+this.value.charAt(0)==' ')this.value=this.value.substring(1,this.value.length);"></textarea>
<br>
<input type="submit" value="Skicka meddelandet" class="knapp">
</form>
Medlem sedan dec. 20011 860 inlägg
#6

Någon som kan hjälpa med nåt bra?

Medlem sedan juni 200032 967 inlägg
#7

Vad är fel på den koden, förutom att du saknar ett semikolon efter raden som börjar på obj.value =?

Koden fungerar fint, tycker jag...

Medlem sedan dec. 20011 860 inlägg
#8

Det konstiga är att sen jag la in kon koden så segar sig det när man skriver text i textarean. Det hänger sig liksom.

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