Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Javascript] Odlicznianie znaków i blokowanie textera
-Gość-
post 24.09.2008, 14:42:00
Post #1





Goście







Witam,
Używam takich skryptów do odliczania ile zostało znaków do napisania i do blokowania textera:
  1. <script type="text/javascript">
  2. function counter( dataElem )
  3. {
  4. var maxLength = 500;
  5. var oSpan = document.getElementById( 'counter' );
  6. oSpan.innerHTML = (maxLength - ( dataElem.length ) ) +' characters left';
  7. }
  8.  
  9. function textCounter(field, countfield, maxlimit)
  10. {
  11. if (field.value.length > maxlimit)
  12. field.value = field.value.substring(0, maxlimit);
  13. else
  14. countfield.value = maxlimit - field.value.length;
  15. }


i takie ma textera
  1. <textarea id="123" name="123" rows="5" cols="40" onkeyup="counter(this.value);" onKeyDown="textCounter(this.form.123,this.form.remLen,499);" onKeyUp="textCounter(this.form.123,this.form.remLen,499);"></textarea>


I ma pewien problem... jak zrobić żeby jak ktoś wkleja tekst większy od 499 znaków to żeby mu automatycznie usunęło tą ilośc znaków które nie powinny się tam znaleźć?? Bo teraz pokazuje np "-333"

Pozdrawiam i proszę o pomoc
Go to the top of the page
+Quote Post
skowron-line
post 24.09.2008, 14:45:47
Post #2





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

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


Zrób akcje na onChange i policz sobie liczbe znaków i jezeli jest więcej niż 500 to substr i od 0 do 500 i wklejasz spowrotem smile.gif


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
-Gość-
post 24.09.2008, 15:00:49
Post #3





Goście







Hym... Tylko że ja w ogóle nie kapuję javascript i nie wiem jak to napisać...
Mógłbym Cię prosić o napisani tego?
Go to the top of the page
+Quote Post
sowiq
post 24.09.2008, 15:24:08
Post #4





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


http://forum.php.pl/index.php?showtopic=20881
http://serwis.magazynyinternetowe.pl/artyk...formularzu.html
http://www.google.pl/search?q=limit+znak%C...lient=firefox-a

Wklepanie 3 słów do Google zajęło mi na pewno mniej czasu niż Tobie napisanie tematu...

A jeśli jesteś po prostu leniwy, to zapraszamy na Giełdę - na pewno ktoś Ci chętnie pomoże.

Ten post edytował sowiq 24.09.2008, 15:24:52
Go to the top of the page
+Quote Post
-F912D2-
post 26.09.2008, 15:12:07
Post #5





Goście







Witam,
Sorki że odgrzebuje temat ale nie chce zakładać nowego... Używam tych skryptów do liczenia znaków i blokowania w polu textarea ale znalazłem pewien problem...
Jak w textarea za pomocą skryptu dodaje dane np. <textarea name="333">ssssdsdsd sdsd</textarea> to te znaki są dopiero liczone jak aktywuje pole czyli w nie kliknę...
a jak mozna zrobić żeby od razu po odświeżeniu strony były zliczone??

Pozdraiwm
Go to the top of the page
+Quote Post
drPayton
post 26.09.2008, 15:30:36
Post #6





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Jeżeli dodajesz do textarea dane za pomoca skryptu, to zaraz po fragmencie, który to robi wywołaj funkcję odpowiedzialną za liczenie znaków...
Go to the top of the page
+Quote Post
-Gość-
post 26.09.2008, 15:32:37
Post #7





Goście







yyy.... czyli jakąquestionmark.gif
Go to the top of the page
+Quote Post
drPayton
post 26.09.2008, 15:38:24
Post #8





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


o_O

Tą, której używasz, a która obecnie wywoływana jest w momencie kliknięcia w pole textarea...
Go to the top of the page
+Quote Post
-Gość-
post 26.09.2008, 15:41:28
Post #9





Goście







Używam takiej... tylko że ja nie umiem javascript i nie wiem jak ją wywołać...
Kod
function counter( dataElem )
{
   var maxLength = 500;
   var oSpan = document.getElementById( 'counter' );
   if( (maxLength - ( dataElem.length ) ) < 0 )
   {
      document.forms['rootform'].artshortsummary.value =  
      document.forms['rootform'].artshortsummary.value.substring(0, 500);
      oSpan.innerHTML = '0 characters left';
   }
   else
   {
      oSpan.innerHTML = (maxLength - ( dataElem.length ) ) +' characters left';
   }
}
Go to the top of the page
+Quote Post
drPayton
post 26.09.2008, 15:45:00
Post #10





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


O mate...

  1. <script type="text/javascript">
  2. /* Tu kod wstawiający dane do textarea */
  3. counter(textareaId);
  4. /* gdzie textareaId to id pola textarea */
Go to the top of the page
+Quote Post
-Gość-
post 26.09.2008, 15:49:00
Post #11





Goście







Ale ja wstawiam tekst za pomocą php...
Go to the top of the page
+Quote Post
drPayton
post 26.09.2008, 15:53:47
Post #12





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


  1. <?php
  2. echo '<script type="text/javascript">
  3. counter(textareaId);
  4. /* gdzie textareaId to id pola textarea */
  5. </script>';
  6. ?>

Albo i nie...

Padam na pysk, więc nie chce mi się już myśleć, czy jakiejś głupoty nie napisałem, niech ktoś inny to napisze...

Ten post edytował drPayton 26.09.2008, 15:54:58
Go to the top of the page
+Quote Post
decha-design
post 26.09.2008, 16:21:25
Post #13





Grupa: Zarejestrowani
Postów: 415
Pomógł: 46
Dołączył: 26.05.2007
Skąd: Sandomierz

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


Jak korzystam z czegoś takiego ...

  1. <script type="text/javascript">
  2. <!--
  3.  
  4. // Count words in the textarea
  5. var obj='0';
  6. var ilosc=500;
  7. var timer='';
  8. function iloscZnakow(o){
  9. if (o) obj=o;
  10. var div=document.getElementById('iloscZnakow');
  11. div.style.fontWeight='normal';
  12. var iloscWpisanych = obj.value.length;
  13. if (iloscWpisanych > ilosc)
  14. iloscWpisanych = '<span style="color: #FF0000">'+iloscWpisanych+'</span>';
  15. div.innerHTML='Znaków '+iloscWpisanych+' / ' +ilosc;
  16. timer=setTimeout('iloscZnakow()', 100);
  17. }
  18.  
  19. function skoncz(){
  20. clearTimeout(timer);
  21. var div=document.getElementById('iloscZnakow');
  22. div.style.fontWeight='normal';
  23. }
  24.  
  25. function licz(pole,max){
  26. if (pole.value.length > max){
  27. pole.value = pole.value.substr(0,max);
  28. }
  29. }


  1. <textarea onFocus="iloscZnakow(this)" onBlur="skoncz(this)" name="text" rows="10" cols="50" onkeyup="licz(this,500)"></textarea>
  2. <div id="iloscZnakow" style="text-align: center;">
  3. Znaków <script>document.write(parseInt(document.forms[0].text.value.length))</script> / 500
  4. </div>


Ten post edytował decha-design 26.09.2008, 16:22:29


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 11:18