Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 1.03.2009 Ostrzeżenie: (0%)
|
Witam,
Wykorzystałem na swojej stronie skrypt autouzupełniania zamieszczony w książce "AJAX i PHP Tworzenie interaktywnych aplikacji internetowych.". Skrypt działa prawidłowo, lecz chciałem go trochę przerobić, aby dostosować go do moich potrzeb. Skrypt działa na takiej zasadzie, że w momencie pojawienia się podpowiedzi stają się one linkami i kliknięcie w podpowiedź powoduje przejście do innej strony. Jest to dobre rozwiązanie w przypadku wyszukiwarek np. google suggest, natomiast w moim przypadku skrypt ma służyć do uzupełnienia pola formularza. Będzie on wykorzystany w formularzu do wysyłania prywatnych wiadomości i jego celem ma być podpowiadanie nazw użytkowników. Zatem chciałbym aby wybranie podpowiedzi nie przenosiło do innej strony, a powodowało wpisanie nazwy w pole input. Próbowałem ten problem rozwiązać samemu kombinując z JS, ale chyba jeszcze zbyt słabo znam JS. Skrypt jest dość długi dlatego umieszczam go w osobnym pliku. http://wrzut.net/qe3h2159sh5s/suggest.txt.html Ten post edytował tomall 7.06.2009, 14:09:42 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 1.03.2009 Ostrzeżenie: (0%)
|
Znalazłem przyczynę problemu. Tekst uzupełnia się w momencie kiedy wybiorę podpowiedź z listy za pomocą strzałek klawiatury. Na mysz nie reaguje i nie wstawia tekstu do inputu. W książce wyczytałem że właśnie na mysz ten skrypt nie działa. A kod odpowiedzialny za wybór opcji z klawiatury to:
Kod /* funkcja, która wybiera obszar w obiekcie tekstowym, przekazywanym jako jej parametr */ function selectRange(oText, start, length) { // sprawdz rodzaj przeglądarki - IE czy FF if (oText.createTextRange) { //IE var oRange = oText.createTextRange(); oRange.moveStart("character", start); oRange.moveEnd("character", length - oText.value.length); oRange.select(); } else // FF if (oText.setSelectionRange) { oText.setSelectionRange(start, length); } oText.focus(); } zatem bez dodatkowych funkcji ani rusz. : / |
|
|
|
tomall [AJAX] Autopodpowiadanie 7.06.2009, 14:02:03
erix Kod// zaczyna tworzyć rząd tabeli HTML, który zawi... 7.06.2009, 21:07:25
tomall Kod// zaczyna tworzyć rząd tabeli HTML, który zawi... 7.06.2009, 22:05:49
erix Nie. Twoją metodę musisz podstawić pod onclick. 7.06.2009, 22:24:47
tomall Próbowałem tak:
Kodonclick='document.getElemen... 7.06.2009, 23:06:08
erix Pierwsze powinno zadziałać, jeśli tylko podasz cud... 7.06.2009, 23:11:19
erix Po co Ci zwracałem uwagę na onclick? 8.06.2009, 07:48:10
tomall Samo onclick działa, wstawia tekst w pole input. P... 8.06.2009, 10:18:21
nospor plugin do jquery
http://bassistance.de/jquery-plug... 8.06.2009, 10:23:09 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 19:10 |