¿Alguien ha experimentado que un elemento de formulario active otro en iOS/iPhone?

Tengo un formulario que aparece en un modal iframe de FancyBox. En iOS 5 (específicamente en un iPhone, no ocurre en iPad) cuando toco el botón de enviar, se activa un <select> que aparece unos 50 píxeles por encima del botón Enviar y luego se me presenta el <select> opciones en la parte inferior de la pantalla.

Me acerqué lo más posible para verificar que no estoy tocando la selección. De hecho, estoy haciendo clic en el botón Enviar y se resalta como se esperaba, pero el formulario, por supuesto, no se envía y tengo las opciones para elegir. desde.

¿Alguien ha experimentado un error como este en iOS 5? No puedo atribuir esto a ninguna otra cosa: hay algún javascript que normalmente se ejecutaría para procesar el formulario al hacer clic en enviar, pero no se activa en absoluto y no tiene ningún efecto en el formulario en sí, el <select>, etc. He visto varias cosas extrañas con iframes en iOS y me pregunto si existe una posible correlación.

preguntado el 03 de julio de 12 a las 02:07

2 Respuestas

Es posible que tenga las conexiones para sus acciones yendo a botones diferentes a los puntos de venta. Eso explicaría por qué sucedería lo correcto (La acción está bien), pero la actualización de Frame Rect se estropearía (Outlet está en el botón incorrecto).

Respondido 03 Jul 12, 06:07

¡Perdón por no estar claro! Me refería al marcado HTML en iOS 5 Safari. Gracias por la ayuda, sin embargo! - charlie schliesser

Los iframes en ios no se comportan como los iframes normales en cualquier otro navegador (incluido Safari de escritorio).

ios safari los muestra a la altura completa de la página dentro del iframe.

Para que se desplacen como un iframe normal de altura fija, debe colocarlos en un div y configurar el desbordamiento de divs en automático o desplazamiento. Supongo que su superposición modal ya lo está haciendo.

Pero incluso un iframe simple en la página sin posicionamiento especial (aparte de usar un div principal para recortar su altura y hacer que se pueda desplazar) a menudo solo tendrá el botón de enviar 1 vez si la ubicación renderizada original de los botones de envío estaba debajo del pliegue de la división principal.

Por lo tanto, el primer envío funcionará, pero si el formulario vuelve con errores de campos obligatorios faltantes, no puede volver a presionar el botón Enviar.

La investigación adicional en mi viejo iPad muestra que si el botón Enviar está lo suficientemente presionado, ni siquiera funcionará la primera vez.

El error está presente en safari para ios 5.1.1 y también ios 8 !!!

Puedo usar una función javascript al hacer clic en cualquier elemento en el iframe que no sea un tipo de entrada = enviar para forzar el formulario a form.submit().

Pero específicamente sobre el problema del iPhone, lo que probablemente estaba sucediendo era que el sistema operativo estaba tratando de acercar el campo de formulario para que el usuario pudiera ver claramente lo que estaba escribiendo. La solución para eso podría ser declarar un tamaño de fuente de al menos 16 px en los elementos de entrada. De esa manera, el sistema operativo sabe que el texto en el campo ya tiene un tamaño bastante legible y no intentará acercar el zoom. Acercar el contenido de un iframe dentro de una superposición modal absolutamente posicionada tiene muchos errores incluso en ios 8.

Respondido 19 Oct 14, 06:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.