Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dynamiczny formularz w PHP
Forum PHP.pl > Forum > Przedszkole
scorcher
Mam formularz z textarea. W jaki sposob zrobic obok tego okienko, w ktorym dynamicznie bedzie pojawiac sie liczba wpisanych znakow?

EDIT:
No tak, JS. I wszystko jasne.
impimp94
Wydaje mi się, że morzesz to zrobić w JS.
A potem wyksportować zmienne do php
  1. <?php
  2. $txt = $_POST['tekstarea'];
  3. echo "<script>";
  4. echo "var a = $txt\n";
  5. echo "</script>";
  6. ?>
  7. <script>
  8. function check() {
  9. // tu kod sprawdzający zawartość lub długość
  10. }
  11. SetInterval("check()",1000);
  12. </script>
Kubofonista
Cytat(impimp94 @ 16.05.2009, 13:28:41 ) *
Wydaje mi się, że morzesz to zrobić w JS.
A potem wyksportować zmienne do php
  1. <?php
  2. $txt = $_POST['tekstarea'];
  3. echo "<script>";
  4. echo "var a = $txt\n";
  5. echo "</script>";
  6. ?>
  7. <script>
  8. function check() {
  9. // tu kod sprawdzający zawartość lub długość
  10. }
  11. SetInterval("check()",1000);
  12. </script>

Jemu nie chodziło raczej o sprawdzenie długości po wysłaniu formularza, do tego służy strlen" title="Zobacz w manualu PHP" target="_manual. Raczej miał na myśli sprawdzanie w JS na bierząco. Potrzebna będzie funkcja licząca znaki w danym polu, a jej wywołanie przypisane do onKeyUP textarea'y. winksmiley.jpg
skowron-line
  1.  
  2. <script type="text/javascript">
  3. function init()
  4. {
  5. document.getElementById( 'oText' ).setAttribute( 'onKeyUp', 'countChars( this )' );
  6. }
  7.  
  8. function countChars( obj )
  9. {
  10. document.getElementById( 'chars' ).innerHTML = obj.value.length;
  11. }
  12.  
  13. window.onload = init;
  14.  
  15. </head>
  16. <textarea id="oText" cols="50" rows="10"></textarea>Wpisano: <span id="chars"></span> znaków
  17. </html>
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.