Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zliczanie ilości bajtów w input=text, własny count
soomal
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 1
Dołączył: 4.03.2007

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


Witam. Potrzebny jest mi własny licznik długości napisu w input=text. Kodowanie UTF-8, więc chcę, żeby funkcja leciała po każdym znaku i:
jeśli to znak zwykły => dodaj 1
jeśli znak polski => dodaj 2

Pytam o gotowe rozwiązanie, bo lamię z JS i właśnie szukam jak odwołać się do wartości wpisanej w input.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A mogę spytać, po co takie myki? Masz jakieś konkretne zastosowanie? Bo IMO jest to kompletnie bez sensu.

Jeśli chcesz już koniecznie - pętelka + licznik.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
soomal
post
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 1
Dołączył: 4.03.2007

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


Cytat(erix @ 13.07.2009, 15:48:29 ) *
A mogę spytać, po co takie myki? Masz jakieś konkretne zastosowanie? Bo IMO jest to kompletnie bez sensu.

Do API Allegro. Można wysłać 50 znaków, z tym, że są kodowane w UTF-8, a Allegro nie uwzględniło tego, że polski ma 2 znaki i liczy rozmiar wprost.
Cytat
Jeśli chcesz już koniecznie - pętelka + licznik.

Ogarniam algorytm. Nie mam pojęcia jak to ubrać w JS, żeby chodziło.
Zrobiłem dla testu:
  1. <script type="text/javascript">
  2. function sprawdz_input()
  3. {
  4. document.getElementById("test_in").value='nic';
  5. }
  6. </head>
  7.  
  8. <input type="text" name="test" id="test_in" onChange="sprawdz_input" />

i wygląda na to, że się nie lubimy.
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Pseudokod:
Kod
licznik = zero;
dla(a równego zero DO długości inputa CO jeden){
jesli
  znak nie-diakrytyczny -> zwiększ o jeden
w przeciwnym wypadku -> zwieksz o dwa
}

i licznik zawiera pożądaną długość. [;


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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 Aktualny czas: 19.08.2025 - 07:26