Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [html] pole tekstowe, zmiana wielkości pola
stypkalukasz
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 8.05.2007

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
Oscar_83
post
Post #2





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

Ostrzeżenie: (0%)
-----


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

Ten post edytował Oscar_83 22.05.2007, 20:52:43
Go to the top of the page
+Quote Post
barat
post
Post #3





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

Ostrzeżenie: (0%)
-----


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 />
Go to the top of the page
+Quote Post
stypkalukasz
post
Post #4





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 8.05.2007

Ostrzeżenie: (0%)
-----


Trochę tajemniczo to dla mnie brzmi. Może trochę za rączkę mnie poprowadzicie ?
Go to the top of the page
+Quote Post
Oscar_83
post
Post #5





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/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; ?>"


Ten post edytował Oscar_83 22.05.2007, 22:05:32
Go to the top of the page
+Quote Post
c0cr0ach
post
Post #6





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 10.12.2006

Ostrzeżenie: (0%)
-----


Oscar_83, spróbuj czegoś w tym stylu:
  1. <textarea name="tresc" cols="70%" rows="5" ><?php echo $tresc; ?></textarea>
Go to the top of the page
+Quote Post
Oscar_83
post
Post #7





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

Ostrzeżenie: (0%)
-----


hehe super - działa dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a myślałem że już tak próbowałem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #8





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




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


Ten post edytował Cysiaczek 23.05.2007, 16:39:10
Go to the top of the page
+Quote Post
Oscar_83
post
Post #9





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 10.05.2007

Ostrzeżenie: (0%)
-----


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>


Ten post edytował Oscar_83 23.05.2007, 21:27:10
Go to the top of the page
+Quote Post
stypkalukasz
post
Post #10





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 8.05.2007

Ostrzeżenie: (0%)
-----


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?
(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

please!!
Go to the top of the page
+Quote Post
atomek4
post
Post #11





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 8.03.2007
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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?

Ten post edytował atomek4 27.06.2007, 20:49:18
Go to the top of the page
+Quote Post
stypkalukasz
post
Post #12





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 8.05.2007

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
atomek4
post
Post #13





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 8.03.2007
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował atomek4 27.06.2007, 22:19:49
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 16:38