Tengo un formulario dinámico que se mostrará con un iPad.¿Cómo puedo evitar que el botón Ir del iPad/iPhone publique el formulario
Este formulario tiene un par de botones de opción y algunos campos de texto y un botón de enviar.
En un iPad, se supone que el botón GO del teclado virtual debe actuar junto con la tecla Intro, haciendo que el primer botón de enviar en el formulario se haga clic y el formulario se publique.
Para evitar publicaciones involuntarias excesivas antes de que se complete el formulario, agregamos un botón de envío adicional más arriba en el formulario, completamente ubicado fuera del área visible con onclick = "return false;". Esto secuestra la tecla Intro impidiendo la publicación accidental en todos los navegadores excepto en Safari Mobile.
En un iPad incluso probamos Opera móvil y funciona como se esperaba.
Pero Safari Mobile aparentemente ignora el resultado falso, ya que al hacer clic en el botón se genera una publicación que no hace ningún otro navegador, ni siquiera Safari en la PC.
Mis preguntas son
1: ¿Por qué es Mobile Safari ignorar "return false" en la presente, ¿hay otro mecanismo en juego aquí?
2: ¿Cómo puedo evitar que Safari mobile publique el formulario al hacer clic en IR?
He realizado numerosas búsquedas en Google y Stackoverflow y encontré muchos ejemplos, pero todos requieren una gran cantidad de javascript y enlaces de eventos y la naturaleza dinámica del formulario junto con el contenido generado por el usuario hace que este error sea bastante complejo ya que casi todo eventos vinculantes para cada cuadro de texto y área de texto.
Cualquier solución que funcione es buena pero cuanto más simple, mejor, especialmente si no requiere mucha personalización del formulario o eventos que pueden entrar en conflicto con los eventos de autocompletado o validación.
Ejemplo testpage: http://lab.dnet.nu/ipad.php
+1 definitivamente no vio venir esto. gracias –