Avatar billede rotco Juniormester
04. oktober 2010 - 16:50 Der er 7 kommentarer og
1 løsning

Ordtælling i textarea virker ikke

Hejsa,

Jeg er igang med et blogging-script til mig selv, og har i den anledning brugt et WYSIWYG-script som hedder: openwysiwyg .

Dette script er jeg i og for sig GANSKE tilfreds med, men jeg har et problem - og det er forholdsvis stort, da jeg ikke laver blogindlæg på mindre end 300 ord - og af denne grund skal jeg bruge en ordtæller, hvilket normalt heller ikke er det sværeste for mig, men det er det denne gang.

Min textarea ser således ud:

<textarea class="artikel" rows="15" cols="70" name="artikel"  id="textarea1"></textarea>

id="textarea1" gør at textarea bliver til en wysiwyg-editor, hvilket jo er meningen, men hvis jeg bruger et script som gerne skulle tælle ordene så forbliver den blot på et fedt 0-tal.

Eksempel:

java script:
<SCRIPT>
var maximalwords=500000

// Do not edit the script below
if (document.layers) {netscapecorrector=1;maximalwords+=1}
if (document.all) {netscapecorrector=0}

function countwords() {
    var words=""
    var content=""
    var corrector=0
    var text=document.countform.artikel.value;
    words=text.split(" ")
    if (words[words.length-1]=="") {corrector=1;}
    document.countform.countbox.value=(words.length)-corrector
    if (words.length-1>=maximalwords) {
        for (i=0;i<maximalwords-netscapecorrector;i++) {
            content+=words[i]+" "
            document.countform.artikel.value=content
        }
    }
    var timer=setTimeout("countwords()",100)
}
window.onload=countwords
</script>

FORM:
<form name="countform" method="post">
Artikel: <textarea class="artikel" rows="15" cols="70" name="artikel" id="artikel"></textarea>
<br>
Antal ord: <input type="text" name="countbox" size="8">
</form>

Jeg placere selvfølgelig "script" mellem <head> og </head>

200 points til den der kommer med et svar der virker, jeg har forsøgt i evigheder nu!
Avatar billede rotco Juniormester
04. oktober 2010 - 16:54 #1
I øvrigt virker det fint når jeg fjerner id="textarea1" - for så er det bare et almindeligt textarea.
Avatar billede showsource Seniormester
04. oktober 2010 - 18:36 #2
Brug id !

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html><head><title>Tegn t&aelig;ller</title>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<script type="text/javascript">

function count_sign()
{

var max = 120;

var counttekst = document.getElementById('antal');
var fieldref = document.getElementById('kommentar');
var tekst = new String(fieldref.value);

tegnialt = tekst.length;

counttekst.removeChild(counttekst.firstChild);
var nyText = document.createTextNode(max-tegnialt+' tilbage');
counttekst.appendChild(nyText);


}


</script>

</head>
<body>


<form>

<div id="antal">120 tilbage</div>
<textarea name="besked" id="kommentar" cols="48" rows="8" maxlength="120" onkeyup="count_sign();"></textarea>

</form>


</body></html>
Avatar billede jokkejensen Novice
04. oktober 2010 - 19:50 #3
problemet opstår når han kaster det JS på til den editor, der oprettes ofte et overlay, så det ikke er det egentlige textarea man indtaster i.

Desuden er word count, sværere når det er markup der står i textareaet.

/J
Avatar billede showsource Seniormester
04. oktober 2010 - 21:27 #4
Ja, ok, jeg er ikke selv til "WYSIWYG" medmindre jeg selv har brygget det sammen.
Og en manglende markup ?
Så er jeg slet ikke til det !
Avatar billede rotco Juniormester
04. oktober 2010 - 21:33 #5
Men er der så en overskuelig måde jeg kan "fikse det på" jokkejensen?
Avatar billede jokkejensen Novice
05. oktober 2010 - 12:14 #6
Ja brug firebug i firefox til at se hvor det indtastede data findes, brug regex til at fjerne tags, og tæl så ord.

Eller smid et link

vh
Avatar billede webmover Nybegynder
06. oktober 2010 - 15:22 #7
Jeg vil anbefale dig at du bruger jquery og dette jquery plugin:
http://wplayground.comuv.com/counter/
Avatar billede rotco Juniormester
21. november 2010 - 14:42 #8
Tak, men jeg fik intet til at virke desværre.. Det viste sig at jeg måtte betale mig fra det.
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