Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [html] pole tekstowe
Forum PHP.pl > Forum > Przedszkole
stypkalukasz
Witam wszystkich.
Napotkałem na taki mały problemik. Prawdopodobnie będzie to pytanie banalne ale jakoś nie mogę się z tym uporać.
Mam taki kod html:
  1. <title>"Polska Piłka Nożna" - aktualizacja danych (zawodnicy)</title>
  2. </head>
  3.  
  4. <h1>"Polska Piłka Nożna" - aktualizacja danych (zawodnicy)</h1>
  5.  
  6. <form action="wstaw_zawodnika.php" method="post">
  7. <table border="0">
  8. <tr><td>pilkarz</td><td> <input type="text" name="pilkarz" maxlength="40" size="30"><br /></td></tr>
  9. <tr><td>klub</td><td> <input type="text" name="klub" maxlength="40" size="30"><br /></td></tr>
  10. <tr><td>tresc</td><td> <input type="text" name="tresc" maxlength="600" size="100"><br /></td></tr> //TO POLE CHCĘ POWIĘKSZYC
  11.  
  12. <tr><td colspan="2"><input type="submit" value="Zapisz"></td></tr>
  13. </table>
  14. </form>
  15. </body>
  16. </html>


W miejscu gdzie jest komentarz chcę aby pole tekstowe nie było podłużne tylko bardziej prostokątne z mozliwością przechodzenia do nowego wiersza za pomocą entera'a. Oraz żeby automatycznie przesuwało w dół się po wpisaniu większej ilości tresci.

Może jakiś pomysły?
Oscar_83
Właśnie mam podobny problem, tzn powiększyć powiększyłem, musisz zamiast:
  1. <?php
  2. <input type="text" name="tresc" maxlength="600" size="100">
  3. ?>

skorzystać z <textarea>
tyle że właśnie się teraz zastanawiam i dochodze jak zrobić żeby enter działał :/
textarea
barat
Cytat(Oscar_83 @ 22.05.2007, 21:48:08 ) *
Właśnie mam podobny problem, tzn powiększyć powiększyłem, musisz zamiast:
  1. <?php
  2. <input type="text" name="tresc" maxlength="600" size="100">
  3. ?>

skorzystać z <textarea>
tyle że właśnie się teraz zastanawiam i dochodze jak zrobić żeby enter działał :/
textarea


przy wyświetlaniu danych z bazy użyć funkcji nl2br() bo pole tekstowe nowe linie (entery) wysyła jako /n a ta funkcja konwertuje /n na <br />
stypkalukasz
Trochę tajemniczo to dla mnie brzmi. Może trochę za rączkę mnie poprowadzicie ?
Oscar_83
tą linie co Ci podawałem zrób tak
  1. <textarea name="tresc" cols="x" rows="y"></textarea>

Natomiast "x" oraz "y" oznaczają odpowiednio: ilość kolumn i wierszy tekstu, które mogą się jednocześnie zmieścić w polu, bez jego przewijania.
a z tym nl2br() zaraz poczytam bo sam musze to zrobić.

nl2br
tu jest ładnie opisane
na pewno poradzisz sobie, mi już działa smile.gif

PS: przy wywoływaniu zmiennej dajesz nl2br(tu wstawiasz zmienną która przechowuje twoją treść)

i co dałeś rade??

hmm a jak można zrobić żeby w textarea pobrało do edycji wartość zmiennej? bo w input robiło się to tak:
  1. <input type="text" name="tytul"
  2.  value="<?php echo $tytul; ?>">

a teraz mam:
  1. <textarea name="tresc" cols="70%" rows="5"
  2.  value="<?php echo $tresc; ?>"></textarea>

przy takim wstawieniu w textarea nie chce wyświetlić zawartości zmiennej $tresc. jak mam to umieścić?
  1. value="<?php echo $tresc; ?>"
c0cr0ach
Oscar_83, spróbuj czegoś w tym stylu:
  1. <textarea name="tresc" cols="70%" rows="5" ><?php echo $tresc; ?></textarea>
Oscar_83
hehe super - działa dzięki smile.gif a myślałem że już tak próbowałem smile.gif
pozdrawiam smile.gif
Cysiaczek
Właśnie miałem podobny problem:

Rozwiązanie to dynamicznie zmienia rows w textarea w zależności od ilości znaków końca wiersza.
  1. function byId(id) {
  2. return document.getElementById(id);
  3. }
  4.  
  5. function Enlarge_Your_Textarea(id) {
  6. obj=byId(id);
  7. rows=obj.getAttribute("rows");
  8.  
  9. regexp=/\n/ig;
  10. arr=obj.value.match(regexp);
  11.  
  12. if(arr.length !== rows) {
  13. rows=arr.length;
  14. }
  15.  
  16. obj.setAttribute("rows", rows);
  17.  
  18. }
  19.  
  20. <textarea rows="4" id="ident" onKeyUp='Enlarge_Your_Textarea(this.id);'>
  21. dsfds
  22. sdf
  23. dsf
  24. sd
Oscar_83
a jak w takiej rubryce:
  1. <tr>
  2. <td bgcolor="#FFFFFF" width="35%">Imię i Nazwisko lub nick</td>
  3. <td bgcolor="#FFFFFF" width="55%">
  4. <input type="text" name="nick">
  5. </td>
  6. </tr>

mam zmienić kolor, a w zasadzie tło tego pola w którym wpisuje się dane?? bo te bgcolor co są nie odpowiadają za to pole do wpisywania.
oki juz pytanie nieaktualne, a jeśli ktoś miałby taki sam problem to podaje jak powinno być:
  1. <tr>
  2. <td bgcolor="#FFFFFF" width="35%">Imię i Nazwisko lub nick</td>
  3. <td bgcolor="#FFFFFF" width="55%">
  4. <input type="text" style="background-color: #CCCCBD;" name="nick">
  5. </td>
  6. </tr>
stypkalukasz
Witam Was ponownie.
Dłuższy czas się nie odzywałem ale sesja egzaminacyjna...rozumiecie...
Wracam do mojego problemu opisanego w tym wątku.
A więc mam taki kod:
  1. <title>"Polska Piłka Nożna" - aktualizacja danych (kluby)</title>
  2. </head>
  3.  
  4. <h1>"Polska Piłka Nożna" - aktualizacja danych (kluby)</h1>
  5.  
  6. <form action="wstaw_klub.php" method="post">
  7. <table border="0">
  8.  
  9. <tr><td>klub</td><td> <input type="text" name="klub" maxlength="40" size="30"><br /></td></tr>
  10. <tr><td>tresc</td><td> <input type="text" name="tresc" maxlength="600" size="100"><br /></td></tr>
  11.  
  12. <tr><td colspan="2"><input type="submit" value="Zapisz"></td></tr>
  13. </table>
  14. </form>
  15. </body>
  16. </html>

Jak zrobić aby ENTEREM przechodzić do nowego wiersza?

No może ktoś pomoże jednak?
smile.gif

please!!
atomek4
Hej,
a może tak jak pisano wcześniej użył byś <textarea> zamiast tego dużego <input type="text">. Pole <input> jest z natury jednowierszowe. No chyba, ze coś źle pisze to niech mnie ktoś poprawi.
Czy to jest po prostu konieczne?
stypkalukasz
No zrobiłem chyba wg wskazówek ale nic z etgo.
Dalej nie przechodzi do nowej linii.

<html>
<head>
<title>"Polska Piłka Nożna" - aktualizacja danych (kluby)</title>
</head>

<body>
<h1>"Polska Piłka Nożna" - aktualizacja danych (kluby)</h1>

<form action="wstaw_klub.php" method="post">
<table border="0">

<tr><td>klub</td><td> <input type="text" name="klub" maxlength="40" size="30"><br

/></td></tr>
<tr><td>tresc</td><td> <textarea name="tresc" cols="100" rows="10"><?php echo $tresc;

?></textarea><br /></td></tr>

<tr><td colspan="2"><input type="submit" value="Zapisz"></td></tr>
</table>
</form>
</body>
</html>

Co jest nietak?
atomek4
W momencie kiedy wciskasz enter w polu textarea dla php jest to znak "\n". Jak dodajesz to do bazy najlepiej użyć funkcji nl2br(), która zamieni wszystkie "\n" na <br />. Funkcji odwrotnej do tej nie ma w php, ale można to zrobić np tak:
  1. <?php
  2. $sample = "Pierwsza linia<br />Drugan <br />";
  3. $sample1=str_replace("<br />", "n", "$sample");
  4. ?>

Może to ci jakoś pomoże. smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.