Avatar billede ingeman Seniormester
24. august 2003 - 11:15 Der er 12 kommentarer og
1 løsning

Antal tegn i textarea

Htlm <textarea>
En function som tæller tegn per linie - samt
nulstiller efter linjeskift og begynder forfra.
I mit textarea må der kun være 80 tegn pr linje.
Avatar billede socle Nybegynder
24. august 2003 - 11:42 #1
<html>
<head>
<script type="text/javascript">

function testTarea(evl){
    var lines = evl.split("\n")
    for(i=0;i<lines.length;i++){
        if(lines[i].length>80){
            alert("too long")
        }
    }
}
</script>
</head>

<body>
<form id="form1" name="form1" ation="" method="post">
<textarea id="tarea" name="tarea" cols="80" onkeyup="testTarea(this.value)"></textarea>
</form>
</body>
</html>
Avatar billede socle Nybegynder
24. august 2003 - 11:42 #2
skal der automatisk sættes et linieskift ved 80 karakterer?
Avatar billede ingeman Seniormester
24. august 2003 - 11:59 #3
ja tak.
Avatar billede socle Nybegynder
24. august 2003 - 12:19 #4
<html>
<head>
<script type="text/javascript">

function testTarea(evl){
    var lines = evl.value.split("\n")
    var newline = ""
    for(i=0;i<lines.length;i++){
        if(lines[i].length==80)
            evl.value = evl.value + String.fromCharCode("13")
    }
}
</script>
</head>

<body>
<form id="form1" name="form1" ation="" method="post">
<textarea id="tarea" name="tarea" cols="80" onkeyup="testTarea(this)"></textarea>
</form>
</body>
</html>
Avatar billede ingeman Seniormester
24. august 2003 - 12:43 #5
Det virker ikke - prøv at lave cols=90
da skal functionen skrifte linje efter 80 tegn.
Avatar billede socle Nybegynder
24. august 2003 - 13:02 #6
sorry, noget må have gået galt da jeg testede, nyt forslag:

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

function testTarea(evl){
    var lines = evl.value.split("\n")
    var newline = ""
    for(i=0;i<lines.length;i++){
        if(lines[i].length==6)
            newline = newline + lines[i] + String.fromCharCode("13")
        else
            newline = newline + lines[i]
    }
    evl.value = newline
}
</script>
</head>

<body>
<form id="form1" name="form1" ation="" method="post">
<textarea id="tarea" name="tarea" cols="90" onkeyup="testTarea(this)"></textarea>
</form>
</body>
</html>
Avatar billede socle Nybegynder
24. august 2003 - 13:03 #7
og så skal
      if(lines[i].length==6)
selfølgelig ændres til
      if(lines[i].length==80)
Avatar billede ingeman Seniormester
24. august 2003 - 16:58 #8
ved ikke hvad der galt - men den skifter ikke linje ?
Avatar billede socle Nybegynder
24. august 2003 - 19:55 #9
prøv alternativt med:

function testTarea(evl){
    var lines = evl.value.split("\n")
    var newline = ""
    for(i=0;i<lines.length;i++){
        if(lines[i].length==6)
            newline = newline + lines[i] + "\n"
        else
            newline = newline + lines[i]
    }
    evl.value = newline
}
Avatar billede ingeman Seniormester
26. august 2003 - 16:32 #10
Virker ikke som det skal - prøv at bruge pil tilbage eller pil op
da går det helt galt.
Avatar billede socle Nybegynder
26. august 2003 - 23:20 #11
hvad med at tillade over 80 tegn i textarea, og så formatere hele teksten efterfølgende, inden den behandles eller gemmes? Så slipper du for besværet med at formatere i textarea?
Avatar billede ingeman Seniormester
28. august 2003 - 15:57 #12
Nej - det duer ikke - det skal overføres til en faxformular
der kun tilader 70 tegn.
Avatar billede ingeman Seniormester
18. oktober 2003 - 18:16 #13
Beklager jeg har ikke fået løst mit problem
Sp lukket !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester