webForumDet fria alternativet

radnummer i textarea?

8 svar · 386 visningar · startad av greymane

greymaneMedlem sedan juli 2001711 inlägg
#1

kan man på ngt sätt få till radnummer i en textarea så man vet vilken rad man är på?`(som i en programmeringsmiljö)

Peter SMedlem sedan dec. 20025 483 inlägg
#2

Du kan göra det så här med JavaScript:

<head>

<script type="text/javascript">
<!--

var i=2;

function showRowNum(o){
	if(o.value.charAt(o.value.length-1)=="\u000A"){
		o.value += i+". ";
		i++;
	}
};

//-->
</script>

</head>

<body>

<textarea rows="" cols="" onkeyup="showRowNum(this)">1. </textarea>

</body>

:)

greymaneMedlem sedan juli 2001711 inlägg
#3

nja, det där funkade inte riktigt :) två saker:

1 radnummer får inte följa med i variabeln när formulärinfon skickas.

2 vid automatisk radbryt blir det inga nummer.

jag skulle kunna tänka mig nåt i stil med att man har ett textfield under textarean som visar vilken rad man befinner sig på. nån som vet hur eller har nåt bättre förslag?

Peter SMedlem sedan dec. 20025 483 inlägg
#4

Då prövar vi igen då:

<script type="text/javascript">
<!--

var total = 0;
var i = 1;

function showRowNum(o){
	total = o.value.length;

	total>=o.cols*i?i++:i=i;

	if(total <= o.cols*i && total > (i>1?o.cols*(i-1):0))
		document.f.num.value = "Rad nr: "+i;
};

//-->
</script>

<body>

<form name="f">

<textarea rows="15" cols="40" onkeyup="showRowNum(this);"></textarea>
<input type="text" name="num">

</form>

</body>

:)

greymaneMedlem sedan juli 2001711 inlägg
#5

nu börjar det likna nåt :) inte riktigt perfa än...

* den uppdaterar inte om jag sätter pekaren på en annan rad
* den uppdaterar inte om jag trycker på enter

hade varit kanongött om du kunde hjälpa igen! :)

dectgapMedlem sedan sep. 20021 655 inlägg
#6

Här är en lite förenklad och förbättrad version av Peters script (dock räknas enter inte som en ny rad):

<html>
<head>
<script type="text/javascript">
<!--

var total;

function showRowNum(o){
	rader=1;
	total = o.innerHTML.length;

	while(total>o.cols*rader){
            rader++;
	}
	document.f.num.value = "Rad nr: "+rader;
};

//-->
</script>
</head>

<body>

<form name="f">

<textarea rows="15" cols="40" onkeyup="showRowNum(this);" onkeydown="showRowNum(this);"></textarea>
<input type="text" name="num" value="Rad nr: 1" />

</form>

</body>
</html>
greymaneMedlem sedan juli 2001711 inlägg
#7

men jag saknar fortfarande uppdatering när jag sätter pekaren på en annan rad...
enter saknar jag också förståss..

jättetacksam om nån kunde greja biffen! :)

greymaneMedlem sedan juli 2001711 inlägg
#8

ingen som skulle kunna tänka sig o bjuda på ett extra handtag? Snälla? :)

Web-TorMedlem sedan nov. 200013 890 inlägg
#9

Flyttar tråden till Javascript-forumet. ;)

132 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)