iPad не пишет текст в <вход>
У меня проблемы с<input>
поле при запуске моего приложения на iPad.
На рабочем столе вы нажимаете текстовое поле, вводите текст и нажимаете кнопку для подтверждения ввода. На iPad, однако, при нажатии на него открывается панель клавиатуры, но текст не отображается в текстовом поле при вводе.
Чтобы сделать вещи еще страннее, у меня есть<textarea>
в другом разделе приложения и работает отлично. Разница в том, что один находится поверх приложения, а другой - в импортированном html.
Структура приложения выглядит следующим образом:
Вверху у меня есть главная страница HTML5, которая импортирует HTML-страницу, которая содержит 3 элемента div. Каждый div в свою очередь импортирует другие HTML-страницы. И эти страницы имеют различное содержание, включая проблемное поле ввода. Что-то вроде этого:
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
Код для<textarea>
сидя на основной HTML выглядит так:
<form id="formNotes">
<textarea id="mainTextbox" type="text" onKeyUp="RefreshNote()" onChange="RefreshNote()"></textarea>
</form>
И код для<input>
поле внутри импортированной HTML-страницы выглядит так:
input{
-webkit-user-select: auto;
}
<form id="formInput">
<input id="text1" type="text" ontouchstart="OpenKeyboard(this)" onKeyDown="WriteText(this)" onKeyUp="WriteText(this)" onChange="WriteText(this)"></input>
</form>
Одна вещь, которую я узнал об использовании событий в импортированных HTML-файлах, заключалась в том, что вам нужно использовать ontouchstart и другие для вызова функций щелчка. Но в этом случае я могу заставить iPad открывать клавиатуру, поэтому я не знаю, почему он не распознает щелчок по клавишам клавиатуры или почему он не отправляет значение в текстовое поле.
[РЕДАКТИРОВАТЬ:] Я выяснил причину, по которой я не пишу текст, потому что iPad думает, что<input>
поле не существует (оно отображается пустым в предупреждении вместо[object Object]
или же[object HTMLInputElement]
). Я понятия не имею, почему, хотя.
[РЕДАКТИРОВАТЬ 2:] Я пытался использоватьgetElementsByTagName
а такжеgetElementsByClassName
вместоgetElementById
, С этим он, кажется, признает<input>
, но я все еще не могу достичь значения.