Mam problem z polem <input>
podczas uruchamiania aplikacji na iPadzie.iPad nie pisze tekstu w polu <input>
Na pulpicie, kliknij pole tekstowe, wpisz tekst i kliknij przycisk, aby potwierdzić wprowadzone dane. Na iPadzie jednak otwiera się panel klawiatury po kliknięciu, ale tekst nie pojawia się w polu tekstowym podczas pisania.
Aby było jeszcze głośniej, mam <textarea>
w innej sekcji aplikacji i działa idealnie. Różnica polega na tym, że siedzi się na górze aplikacji, a druga jest w importowanym html.
Struktura aplikacji jest tak:
Na górze mam główną stronę HTML5, który importuje stronę html, który zawiera 3 DIV. Każdy div z kolei importuje inne strony html. Każda z tych stron ma inną treść, w tym problematyczne pole tekstowe. coś takiego:
Main.html
-> container.html (imported via iframe)
-> div1 (imports page n-1 via load(url))
-> div2 (imports page n via load(url))
-> div3 (imports page n+1 via load(url))
pageN.html
-> contains the <input> field
Kod dla <textarea>
siedzi na głównej html jest tak:
<form id="formNotes">
<textarea id="mainTextbox" type="text" onKeyUp="RefreshNote()" onChange="RefreshNote()"></textarea>
</form>
I kod do pola wewnątrz importowanej strony html <input>
jest tak:
Jedną z rzeczy, których nauczyłem się używać zdarzeń na importowanych kodach HTML, chociaż trzeba było użyć ontouchstart i innych do zadzwoń do funkcji kliknięcia. Ale w tym przypadku mogę dostać iPada, aby otworzyć klawiaturę, więc nie wiem, dlaczego nie rozpoznaje kliknięcia klawiszy klawiatury lub dlaczego nie wysyła wartości do pola tekstowego.
[EDIT:] I okazało się, dlaczego ja nie otrzymuję żadnych tekst napisany jest fakt, że iPad myśli pole <input>
nie istnieje (to pokazuje się pusty w pogotowiu, zamiast [object Object]
lub [object HTMLInputElement]
). Nie mam pojęcia dlaczego.
[EDIT 2:] Próbowałem użyć getElementsByTagName
i getElementsByClassName
zamiast getElementById
. Dzięki temu wydaje się rozpoznawać <input>
, ale nadal nie mogę osiągnąć wartości.
To nie działa. Pole tekstowe przestało odpowiadać na dane wejściowe w wersji na komputery stacjonarne – Catpixels
"Pole tekstowe przestało reagować na dane wejściowe" ... nie jestem pewien, co przez to rozumiesz. Czy załadowałeś bibliotekę jQuery? Co dokładnie próbujesz zrobić z funkcjami javascript? Czy masz to gdzieś, gdzie mogę na to patrzeć? – inorganik
Miałem na myśli, że napisany tekst nie pojawia się już w polu tekstowym. I nie, nie mogę podać żadnego przykładu, ponieważ jest własnością firmy. Jednak udało mi się wypracować rozwiązanie, choć moim zdaniem "nieprzyjemne". Uchwyć kluczowe kody i zapisz je ręcznie (jako że klawiatura powinna zrobić to sama na pierwszym miejscu) – Catpixels