iPad no está escribiendo texto en el <input>

Estoy teniendo problemas con el<input> campo al ejecutar mi aplicación en iPad.

En el escritorio, haga clic en el cuadro de texto, escriba el texto y haga clic en un botón para validar la entrada. En el iPad, sin embargo, abre el panel del teclado cuando haces clic en él, pero el texto no se muestra en el cuadro de texto cuando escribes.
Para hacer las cosas aún más raras, tengo un<textarea> En otra sección de la aplicación y funciona perfectamente. La diferencia es que uno está sentado sobre la aplicación y el otro está en un HTML importado.

La estructura de la aplicación es así:



En la parte superior tengo la página principal de HTML5, que importa una página html que contiene 3 divs. Cada div a su vez importa otras páginas html. Y esas páginas tienen un contenido diferente cada una, incluido el campo de entrada problemático. Algo como esto:

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

El código para el<textarea> Sentado en el html principal es así:

<form id="formNotes">
    <textarea id="mainTextbox" type="text" onKeyUp="RefreshNote()" onChange="RefreshNote()"></textarea>
</form>

Y el código para el<input> El campo dentro de la página html importada es así:

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>

Una cosa que aprendí sobre el uso de eventos en HTML importados fue que necesitas usar uponuchstart y otros para llamar a las funciones de clic. Pero en este caso, puedo hacer que el iPad abra el teclado, así que no sé por qué no reconoce el clic en las teclas del teclado o por qué no envía el valor al cuadro de texto.

[EDIT:] Descubrí que la razón por la que no escribo ningún texto es porque el iPad cree que<input> el campo no existe (aparece en blanco en la alerta, en lugar de[object Object] o[object HTMLInputElement]). Aunque no tengo idea de por qué.

[EDIT 2:] traté de usargetElementsByTagName ygetElementsByClassName en lugar degetElementById. Con eso parece reconocer el<input>, pero sigo sin poder alcanzar el valor.

Respuestas a la pregunta(4)

Su respuesta a la pregunta