Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zliczanie ilości bajtów w input=text
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
soomal
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.
erix
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.
soomal
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.
erix
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ść. [;
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.