Avatar billede futte850 Nybegynder
29. maj 2005 - 13:18 Der er 19 kommentarer og
1 løsning

problem med textarea.

Halløjsa, jeg har lavet en gæstebog, og der er et lille problem med den, så jeg håber at i kan svare på dette spørgsmål..!!

I min gæstebog har jeg lavet en textarea hvor man kan skrive en besked, mit problem er bare, at jeg har lavet min textarea en eller anden størrelse, lad os sige 80 cols og 10 rows, men når man når hen til enden, så skifter den ikke automatisk linje, men skriver videre så der nederst kommer en scroller som ikke var meningen. Den skal bare kunne automatisk skifte linje, når man når til enden af textarea... er der nogen som har et svar på hvordan jeg laver det..???

kode: <textarea name="besked" ID="txtBody" cols="80" rows="10" tabindex="1" wrap="virtual" style="width:430;"></textarea>
Avatar billede angam Nybegynder
29. maj 2005 - 13:30 #1
Prøv at fjerne wrap=virtual:

<textarea name="besked" ID="txtBody" cols="80" rows="10" tabindex="1" style="width:430;"></textarea>

.. normal behaviour for textarea er nemlig ikke at skifte linie, så jeg tror det er årsagen. Iøvrigt .. det her har ikke meget med php at gøre ;-)
Avatar billede futte850 Nybegynder
29. maj 2005 - 13:32 #2
sorry, men vidste ellers ikke hva det var sådan helt præcist..!!
Og det hjælper ikke at fjerne den der, har prøvet... hvor er det da bedre at stille spørgsmålet henne?
Avatar billede angam Nybegynder
29. maj 2005 - 13:36 #3
Det hører under html- men never mind, de fleste php-programmører kan i sagens natur også html. Men bortset fra det, nedenstående kode virker fint her:

<html>
<body>
<textarea name="besked" ID="txtBody" cols="80" rows="10" tabindex="1" wrap="virtual" style="width:430;"></textarea>
</body>
<html>

.. så du må have et stylesheet der laver om i textarea's behaviour, eller på en omkringliggende celle eller hvad ved jeg.
Avatar billede futte850 Nybegynder
29. maj 2005 - 13:37 #4
men, lige en ting... mit problem er sådan set self at den ikke laver mellemrum.. men hvis en person som skriver i min gæstebog, f.eks. ikke laver mellemrum og han så poster det, så bliver beskeden bare sååå lang og der vil komme en vandret scroller på min side.. og det synes jeg ikke er særligt fedt.. kan det løses
Avatar billede angam Nybegynder
29. maj 2005 - 13:38 #5
Oohh - det er ikke i textarea'en der kommer en scrollbar, men den færdige gæstebog?
Avatar billede futte850 Nybegynder
29. maj 2005 - 13:40 #6
jooo det gør der også, og når de så poster beskeden kommer der også en vandret scroller fordi at inde i textarea har den jo ikke laver mellemrum automatisk og derfor fortsætter den og laver en vandret scroller...
Avatar billede angam Nybegynder
29. maj 2005 - 13:41 #7
I så fald kan du ikke breake når du når enden. Men du kan godt force linieskift; nedenstående eksempel laver linieskift i textarea'ens indhold om til <br/> i output (i variablen $out).

<?

$out = isset($_REQUEST['besked']) ? $_REQUEST['besked'] : false;
$out = str_replace("\n", '<br/>', $out);

?>
<html>
<body>
<form name="f" action="test.php" method="post">
<textarea name="besked" ID="txtBody" cols="80" rows="10" tabindex="1" wrap="virtual" style="width:430;"></textarea><br/>
<input type="submit" value="send">
<hr/>
<?=$out?>;
</form>
</body>
<html>
Avatar billede futte850 Nybegynder
29. maj 2005 - 13:42 #8
så faktisk er det ikke et problem at den laver en scroller inde i textarea, men problemet er jo at den bare fortsætter og laver en vandret scroller, når man har lavet posted en besked
Avatar billede angam Nybegynder
29. maj 2005 - 13:45 #9
Det lyder som om du mangler en width-attribut der hvor du viser din gæstebog hvis jeg forstår dig korrekt. Men chancen er også at jeg ikke helt har forstået hvad problemet er endnu? :-/
Avatar billede futte850 Nybegynder
29. maj 2005 - 13:47 #10
altså hvis vi nu siger at man skriver en besked, så skal den jo ikke have en table, altså output på 100% for så vil den jo bare fortsætte, men i dette tilfælde ser det ud til at den reagere sådan, altså at den bare fortsætter og ikke laver break uden at man selv har trykket enter på ens tastatur...
Avatar billede futte850 Nybegynder
29. maj 2005 - 13:49 #11
dette er mit output   

echo "<tr><td class='indhold' valign=\"top\" width=\"430\">";
      echo "fra: <a href=\"mailto:";
      echo $data["email"];
      echo "\">";
      echo $data["navn"];
      echo "</a>"." ";
      echo $data["dato"]. " ";
      echo $data["hjemmeside"];
      echo "<hr width=\"100%\" size=\"1\" color=\"#FFFFFF\" noshade>";
          $temp=str_replace(":-)","<img src=\"smilie/smile.gif\">",nl2br($data["besked"]));
          $temp=str_replace(":-D","<img src=\"smilie/biggrin.gif\">",$temp);
          $temp=str_replace("8-<","<img src=\"smilie/weird.gif\">",$temp);
          $temp=str_replace(":-o","<img src=\"smilie/amazed.gif\">",$temp);
          $temp=str_replace(":-,","<img src=\"smilie/amuse.gif\">",$temp);
          $temp=str_replace(":-[","<img src=\"smilie/angry.gif\">",$temp);
          $temp=str_replace("!-)","<img src=\"smilie/Totalt.gif\">",$temp);
          $temp=str_replace(";-)","<img src=\"smilie/cheesy.gif\">",$temp);
          $temp=str_replace("?-/","<img src=\"smilie/confused.gif\">",$temp);
          $temp=str_replace("+-)","<img src=\"smilie/cool.gif\">",$temp);
          $temp=str_replace("?-)","<img src=\"smilie/crazy.gif\">",$temp);     
          $temp=str_replace(":-(","<img src=\"smilie/crying.gif\">",$temp);
          $temp=str_replace("#-]","<img src=\"smilie/embarrest.gif\">",$temp);
          $temp=str_replace("¤-]","<img src=\"smilie/evil.gif\">",$temp);
          $temp=str_replace("%-/","<img src=\"smilie/huh.gif\">",$temp);
          $temp=str_replace(":->","<img src=\"smilie/laugh.gif\">",$temp);
          $temp=str_replace("!-,","<img src=\"smilie/notrust.gif\">",$temp);
          $temp=str_replace(">-,","<img src=\"smilie/noworry.gif\">",$temp);
          $temp=str_replace(":-&","<img src=\"smilie/oh.gif\">",$temp);
          $temp=str_replace(">-o","<img src=\"smilie/push.gif\">",$temp);
          $temp=str_replace("&-)","<img src=\"smilie/rolleyes.gif\">",$temp);
          $temp=str_replace(":-c","<img src=\"smilie/sad.gif\">",$temp);
          $temp=str_replace("=-)2","<img src=\"smilie/special2.gif\">",$temp);
          $temp=str_replace(":-;","<img src=\"smilie/tongue.gif\">",$temp);
          $temp=str_replace("=-/","<img src=\"smilie/unsure.gif\">",$temp);
          $temp=str_replace("!-;","<img src=\"smilie/wink.gif\">",$temp);
          $temp=str_replace(":-{","<img src=\"smilie/mad.gif\">",$temp);
          $temp=str_replace(":-<3","<img src=\"smilie/love.gif\">",$temp);
          $temp=str_replace("<!!!>","<img src=\"smilie/important.gif\">",$temp);
          $temp=str_replace("(???)","<img src=\"smilie/question.gif\">",$temp);
          $temp=str_replace("<&&&>","<img src=\"smilie/special1.gif\">",$temp);
          $temp=str_replace("(///)","<img src=\"smilie/sick.gif\">",$temp);
      echo $temp;
      echo "<hr width=\"430\" size=\"1\" align=\"left\" color=\"#C0C0C0\" noshade>";
      echo "</tr>";
      echo "</td>";
Avatar billede angam Nybegynder
29. maj 2005 - 13:50 #12
Har du ikke et link til siden? Det tror jeg gør det hele 500 gange nemmere.
Avatar billede futte850 Nybegynder
29. maj 2005 - 13:50 #13
kan lige smide det på nettet
Avatar billede angam Nybegynder
29. maj 2005 - 13:55 #14
Dette virker fint her:

<?

$out = isset($_REQUEST['besked']) ? $_REQUEST['besked'] : false;
$out = str_replace("\n", '<br/>', $out);

$data = array();
$data['email'] = 'bill@gates.com';
$data['navn'] = 'Bill Gates';
$data['dato'] = date('Y/m/d h:i:s');
$data['hjemmeside'] = 'www.microsoft.com';
$data['besked'] = $out;


?>
<html>
<body>
<form name="f" action="test.php" method="post">
<textarea name="besked" ID="txtBody" cols="80" rows="10" tabindex="1" wrap="virtual" style="width:430;"></textarea><br/>
<input type="submit" value="send">
<hr/>
<table>
<?
// Indsæt din kode fra kl. 13:49 her
?>
</table>
</form>
</body>
<html>

(testet i Firefox 1.0.4)

Det er ikke hvis folk skriver et laaaaaaaaaangt ord uden mellemrum du mener, vel? Det vil nemlig lave en scrollbar her.
Avatar billede futte850 Nybegynder
29. maj 2005 - 13:59 #15
jooo det er nemlig det
Avatar billede angam Nybegynder
29. maj 2005 - 14:27 #16
Ok, det kan du ikke rigtigt gøre noget ved - andet end at lave et check for at et ord ikke er længere end f.eks. 30 bogstaver lange - og så lave en deling i ordet.
Avatar billede futte850 Nybegynder
29. maj 2005 - 14:28 #17
hvor sætter jeg den limit henne..???
Avatar billede futte850 Nybegynder
29. maj 2005 - 14:32 #18
ved godt at inde i databasen kan man sætte en limit men det er kun på hvor mange bogstaver der skal være i en besked, såå jeg er ikke klar over hvor man sætter den der limit på hvor mange bogstaver der må være på en linje!
Avatar billede futte850 Nybegynder
29. maj 2005 - 14:33 #19
hvis du vil tjekke det, så har jeg skrevet en linje i min gæstebog så lang så du kan se problemet.. siden er her.. www.dummierun.phweb.dk
Avatar billede futte850 Nybegynder
29. maj 2005 - 14:33 #20
gå under gæstebog
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