Avatar billede rthuls Nybegynder
23. oktober 2003 - 20:40 Der er 22 kommentarer og
1 løsning

resize textarea

Jeg prøver at få et textarea til at tilpasse sig størrelsen af teksten. Desværre virker det ikke helt som tiltænkt, da den størrelse textareaet resizer sig til ikke passe med teksten. Er der nogen der kan hjælpe mig?


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script language="JavaScript" type="text/javascript">
<!--
 
function ResizeTextArea(txtBox){ 
    nCols = txtBox.cols;
    sVal = txtBox.value;
    nVal = sVal.length;
    nRowCnt = 1;

    for (i=0;i<nVal;i++){
        if (sVal.charAt(i).charCodeAt(0) == 13){
            nRowCnt +=1;
        }
    } 

    if (nRowCnt < (nVal / nCols)){
        nRowCnt = 1 + (nVal / nCols);
    }
    txtBox.rows = nRowCnt;
}

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

<body>
<form name="ret">
    <textarea id="indhold" name="indhold" style="overflow:hidden; width:450px;">Iste quidem veteres inter ponetur honeste, qui vel mense brevi vel toto est iunior anno. Utor permisso, caudaeque pilos ut equinae paulatim vello unum, demo etiam unum, dum cadat elusus ratione ruentis acervi, qui redit in fastos et annis miraturque.
    Ennius et sapines et fortis et alter Homerus, ut critici dicunt, leviter curare videtur, quo promissa cadant et somnia Pythagorea.Naevius in manibus non est et mentibus haeret paene recens? Adeo sanctum est vetus omne poema. Ambigitur quotiens, sit prior, Pacuvius docti.</textarea>
</form>
<a href="#" onclick="ResizeTextArea(document.ret.indhold);">Resize</a>
</body>
</html>
Avatar billede olebole Juniormester
23. oktober 2003 - 22:06 #1
<ole>

Efter hvilke kriterier skal det resizes?

/mvh
</bole>
Avatar billede rthuls Nybegynder
23. oktober 2003 - 22:12 #2
Textareaet skal være 450px bredt og så skal det være så højt at alt teksten kan være der uden at der skal scrolles.
Avatar billede roenving Novice
24. oktober 2003 - 05:59 #3
Hvad med bare (IE only)

<form name="ret">
    <span contenteditable id="indhold" name="indhold" style="overflow:hidden; width:450px;font-family:Courier New;font-size:12px;">Iste quidem veteres inter ponetur honeste, qui vel mense brevi vel toto est iunior anno. Utor permisso, caudaeque pilos ut equinae paulatim vello unum, demo etiam unum, dum cadat elusus ratione ruentis acervi, qui redit in fastos et annis miraturque.
    Ennius et sapines et fortis et alter Homerus, ut critici dicunt, leviter curare videtur, quo promissa cadant et somnia Pythagorea.Naevius in manibus non est et mentibus haeret paene recens? Adeo sanctum est vetus omne poema. Ambigitur quotiens, sit prior, Pacuvius docti.</span>
</form>

-- resize-kode bliver så overflødig !-)
Avatar billede rthuls Nybegynder
24. oktober 2003 - 15:17 #4
roenving >> det var måske en mulighed. Der er så bare det problem at tekstformateringen ikke bliver holdt. Kan man lave om på det?
Avatar billede roenving Novice
24. oktober 2003 - 15:21 #5
Hvilken formattering mener du - font/farve eller andet ?-)

Inde i span'en kan du iøvrigt placere andre tags, så du kan få det til at være et fuldt formatteret html-fragment !-)
Avatar billede rthuls Nybegynder
24. oktober 2003 - 15:34 #6
Alle linieskift forsvinder fra teksten.
Avatar billede rthuls Nybegynder
24. oktober 2003 - 15:36 #7
ok, det er bare \r\n der skal laves om til <br>
Avatar billede roenving Novice
24. oktober 2003 - 15:39 #8
Præcis:

text = text.replace(/\r\n/g,"<br>");
text = text.replace(/\r|\n/g,"<br>");

!-)
Avatar billede rthuls Nybegynder
24. oktober 2003 - 15:41 #9
Hvordan får jeg så fat i indholdet af feltet når det er submittet? Normalt ville jeg bruge):

echo $_POST['indhold'];

Bliver indholdet overhovedet sendt når man submitter formen?
Avatar billede roenving Novice
24. oktober 2003 - 15:45 #10
Det vil ikke normalt blive sendt, men du kan jo bare lægge det over i et andet felt onsubmit:

onsubmit="this.skjultindhold.value=document.getElementById('indhold').innerHTML"
Avatar billede rthuls Nybegynder
24. oktober 2003 - 15:56 #11
ja, selvfølgelig. Et nyt problem er at den sætter nogle tags ind (bl.a. <P> og <A>). Jeg vil gerne selv styre formateringen. Kan man slå det fra?
Avatar billede roenving Novice
24. oktober 2003 - 16:01 #12
Sætter ind ?-)

Hvordan kommer der tags ind i, når man bare skriver ?o]
Avatar billede rthuls Nybegynder
24. oktober 2003 - 16:03 #13
Den laver også mellemrum mellem linie med tvunget linieskift, fordi den sætter <p> tags istedet <br> tags:

<p>linie 1</p>
<p>linie 2</p>
Avatar billede rthuls Nybegynder
24. oktober 2003 - 16:05 #14
F.eks. bliver teksten:
Her er en test
bla@bla.dk
mere tekst

Lavet om til:
<P>Her er en test</P>
<P><A href=\"mailto:bla@bla.dk\">bla@bla.dk</A></P>
<P>mere tekst</P>
Avatar billede rthuls Nybegynder
24. oktober 2003 - 16:06 #15
altså når jeg submitter :-)
Avatar billede roenving Novice
24. oktober 2003 - 16:10 #16
Du kunne også (da det kun er rettet mod IE, når man bruger contenteditable !-) bruger innerText ...
Avatar billede rthuls Nybegynder
24. oktober 2003 - 16:16 #17
Ja, men så kommer linieskift ikke med...
Avatar billede olebole Juniormester
25. oktober 2003 - 15:25 #18
Jo, alle indtastede linieskift kommer med - men ikke de 'bløde' skift, der ikke er indtastet. Dem kan du ikke uden videre få fat i. Det ville kræve noget bøvlet JavaScript, i det mindste  :)
Avatar billede rthuls Nybegynder
28. oktober 2003 - 21:34 #19
Nu tror jeg at jeg har fået det til at virke.
Roenving du må gerne ligge et svar.
Avatar billede rthuls Nybegynder
13. juni 2004 - 23:44 #20
roenving, jeg er igang med at lukke gamle spørgsmål. Hvis du vil have point så lig et svar.
Avatar billede roenving Novice
14. juni 2004 - 00:01 #21
Oki '-)
Avatar billede rthuls Nybegynder
14. juni 2004 - 00:12 #22
Nå der var du :o)
Tak for hjælpen!
Avatar billede roenving Novice
14. juni 2004 - 00:15 #23
-- og jeg siger tak for point ;~}
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