Avatar billede mestersamvis Nybegynder
23. februar 2003 - 01:42 Der er 6 kommentarer og
1 løsning

linie nummerering af html tekstfelt

Kan jeg nummerere linierne i et html tekstfelt, således at jeg i en fejlbesked til brugeren kan referere til et linienummer?
Jo, altså jeg kan jo hardkode tal i en kolonne ved siden af feltet, men har jeg andre muligheder?
Problemet kompliceres jo bl.a.  af at brugeren muligvis indtaster et input der har flere linier end tekstfeltet kan vise ad gangen.
Avatar billede olebole Juniormester
23. februar 2003 - 05:11 #1
<ole>

Kun hvis du slår wrapping fra i feltet:
<script type="text/JavaScript">
function checkTxt( f ) {
    var errMsg = "";
    var txtA = f.t.value.split("\n");
    alert( txtA.length )
    for ( i=0; i<txtA.length; i++ ) {
        if (txtA[i].indexOf("bla")!=-1) {
            errMsg += "Kvaj ... du har skrevet 'bla' i linie " + (i+1) + "\n";
        }
    }
    if ( errMsg!="" ) {
        alert( errMsg );
        return false;
    }
}
</script>

<form onsubmit="return checkTxt(this)">
    <textarea wrap="off" style="width:350px;height:100px;" name="t">Prøv at skrive nogle linier.
Skriv ordet 'bla' i en af dem.</textarea>
    <button type="submit">TEST</button>
</form>

/mvh

/mvh
</bole>
Avatar billede mestersamvis Nybegynder
27. februar 2003 - 22:06 #2
Det var et meget sejt script, men ikke lige det jeg havde brug for.
Når jeg evaluerer indholdet i tekstfeltet, har jeg ingen problemer med at få genereret fejlbeskeden (f.eks.: fejl i linie 18). Problemet er at det er svært for brugeren umiddelbart, at se hvad der er linie 18.
Så hvordan kan jeg vise linienumre ved siden af inputtet uden at 1)inputtet
Avatar billede mestersamvis Nybegynder
27. februar 2003 - 22:08 #3
fortsat:
1) uden at inputtet "forurenes" med sidenumre.
2) uden at få problemer, hvis brugeren vælger større skrifttype i sin browser eller lign.
Avatar billede olebole Juniormester
28. februar 2003 - 10:42 #4
Det er en lidt skidt løsning, du har gang i ... den vil skabe flere problemer, end fordele  :)

1. Hvilke browsere skal det kunne bruges i?
2. Hvilke typer fejl kan der være tale om? Prøv at give et eksempel eller to på noget, der defineres som værende en fejl.
/mvh
Avatar billede mestersamvis Nybegynder
01. marts 2003 - 10:30 #5
OK, forklaringen er:
abc er en tekstbaseret måde at notere musik (noder) på. Vha. af et lille kommandolinie program "abc2ps" genereres en postscriptfil med en flot node.
Jeg er ved at lave et webinterface, så man uden at kende til abc2ps skal kunne indtaste sin abc-kode i et html-tekstfelt, og med "submit" få genereret en pdf-fil med noden.
Problemet er så når brugeren indtaster ugyldig abc-kode. Jeg kan sagtens finde ud af at bringe fejl-beskeden fra abc2ps til brugeren (f.eks. "- line 11: Not enough words for lyric line"), men det er jo ikke særligt brugervenligt, idet han må tælle sig frem til linie 11. Eller værre: linie 52...
Så tænkte jeg om det kunne lade sig gøre at sætte linienumre til venstre for et tekstfelt, på en måde så det holder uanset browser?
Avatar billede olebole Juniormester
01. marts 2003 - 15:40 #6
Man kunne vel pop'e et vindue op - eller dynamisk skrive teksten ind i et <div> - hvor fejlen er highlighted med gult. Det vil dog kræve, at jeg ved noget mere om, hvad fejlen kan bestå i.
Avatar billede mestersamvis Nybegynder
25. april 2003 - 23:31 #7
ikke løst
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