Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] zliczanie znaków w textarea
rimk
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 2.07.2007

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


Mam taki skrypt:

  1. <script type="text/javascript">
  2. onl=window.onload||Function;
  3. onload=function(){
  4. onl();
  5. for(var i=0,d,k; d=document.getElementsByTagName('*')[i++];){
  6. if(d.className=='zostalo'){
  7. d.m=+d.innerHTML;
  8. (k=d.previousSibling).onkeypress=k.onkeyup=function(){
  9. var n=this.nextSibling;
  10. if(this.value.length>n.m)this.value=this.value.slice(0,n.m);
  11. n.innerHTML=n.m-this.value.length;
  12. }
  13. }
  14. }
  15. }
  16.  
  17. <textarea name="tresc" cols=30 rows=5></textarea><span class="zostalo">20</span>


Zlicza on ile zostało znaków do wpisania w textarea. Działa fajnie, ale potrzebne mi są dwa udogodnienia.
1) Ilość znaków musi być uaktualniona przy ładowaniu strony. Jeżeli np. wpiszę <textarea>abc</textarea> ilość znaków wynosi nadal 20 - dopiero po naciśnięciu klawisza zmieni się na 17.
2) Przy wklejaniu tekstu myszką jest problem - chciałbym, żeby przy każdej zmianie tekstu wartość się uaktualniała (onchange?)

Dzięki za pomoc! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
AxZx
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


nie wiem czy stosujesz tam php do generowania html?
jezeli tak to policz ilosc znakow w textarea a nastepnie wygeneruj odpowiednie
  1. <span class="zostalo">20</span>

z odpowiednia iloscia, zamiast 20 wpisz tam liczbe 20 - $ilosc_znakow_w_textarea
Go to the top of the page
+Quote Post
rimk
post
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 2.07.2007

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


Wolałbym rozwiązanie na js. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Myślę, że to można zrobić (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

ps. Poza tym Twój pomysł nie rozwiązuje problemu 2)

Ten post edytował rimk 7.01.2008, 23:56:17
Go to the top of the page
+Quote Post
vokiel
post
Post #4





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Może dobrym pomysłem będzie użycie tej funkcji przy innych zdarzeniach jak: onKeyUp() albo onFocus()
Go to the top of the page
+Quote Post
skowron-line
post
Post #5





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


  1. <script type="text/javascript">
  2. functiom cpount(){
  3. var fieldValue = document.getElementById('txt').value;
  4. document.getElementById('field').innerHTML = 160 - parseInt(fieldValue);
  5. }
  6. <textarea id="txt" onkeyup="count();" onfocus="count();"></textarea>
  7. Pozostalo<span id="field"></span>


*pisane z palca
Go to the top of the page
+Quote Post
rimk
post
Post #6





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 2.07.2007

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


Chodzi mi o modyfikację skryptu, który zamieściłem - jest bardziej praktyczny.
A onKeyUp() jest już w implementacji - potrzeba mi raczej reagowania na modyfikację wartości w textarea.
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: 22.08.2025 - 21:10