Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z focus w polu input type=TEXT
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Fistach
Mam skrypt, który sprawdza poprawnosc wpisanego e-maila i chcialbym aby po znalezeniu niedozwolonego znaku (np 'spacji', ';', ':', ',') focusowal sie nad tym znakiem

wiem ze do tego jest funkcja: focus() ale nie moge ustawic skad ma sie zaczac zaznaczenie

document.forms[0].emailAdr.focus();
revyag
Może sie mylę, ale funkcja focus()odnosi się do całych elementów a nie np. do tekstu wprwadzonego do inputa, tym bardziej do jednego znaku. Możesz więc zrobić najwyżej tak że skrypt będzie sie focusował na samym inpucie.
Vir
Jak mówił wójek Sam nie ma rzeczy niemożliwych winksmiley.jpg

Istnieje możliwość ustawienia kursora w wybranym miejscu pola input, należy tylko użyć kilku rzadko stosowanych obiektów, funkcji, metod.

Poczytaj / poszukaj informacji m.in. o : document.selection, createTextRange(), moveStart(). Pozycję niechcianego znaku znajdujesz przez użycie indexOf().
Kilka postów na temat ustawiania pozycji kursora w polu input było na pl.comp.lang.javascript.

Zajrzyj m.in. na stronę: SDK Documentation (Events).

W razie problemów wrzuć kod skryptu, a pomogę Ci go przerobić (przynajmniej się postaram biggrin.gif ).

Jedyna wada tego rozwiązania - IE version ONLY.

Ps.
Inne rozwiązanie to przypisanie do pola input zdarzenia onkeypress, które z kolei będzie odwoływało się do funkcji sprawdzającej wybrany przycisk (->keyCode) i w razie wystąpienia zakazanego "utnie go" -> substring(0,document.input1.length-1).

Ps2.
Nie ma to jak walidacja adresu e-mail via php smile.gif
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.