11

In mobile Safari (iOS 8.0 iPad Mini) it seems that, the more inputs (I've tried with different types) a web has, the slower the "typing" gets (I've even managed to freeze safari just typing). Just to make sure it was not the keyboard, I tested with Swiftkey, but the same problem arose. With Swiftkey, the input was fast, but the text was slowly inserted inside an input type text.

I've created a jsFiddle with some inputs and it really goes slow (as hell). At this fiddle, I added some select with lots of "option" tags because I found out that this makes the situation even worse. I also tried adding autocomplete attribute (set to false) but it doesn't seem to affect in any way.

This is more or less how would a "problematic" code look like:

<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="text" autocorrect="off" />
<input class=""  type="email" autocorrect="off" />
<select><!-- lots of "option" tags --></select>

And now the weird thing: this doesn't happen on an iPhone 5S (didn't test it on any other iPad).

Does anybody know why this happens? Or if it happens on any other device?

Thanks in advance.

Steven Lu
  • 41,389
  • 58
  • 210
  • 364
Aitor Calderon
  • 763
  • 6
  • 16
  • Tested on iPhone 5 iOS 7.1.1 everything is ok... – ArmeniaH Oct 07 '14 at 13:53
  • when you end your input, since safari is really sensitive about thing, and to keep good syntax, try adding an ending /> to your input!. So FOR EXAMPLE – md_5 Oct 10 '14 at 00:16
  • Hi @ArmeniaH: In fact I was only able to reproduce this in iOS 8, and only iPad mini, on iPhone with iOS 8 it worked perfeclty. – Aitor Calderon Oct 10 '14 at 11:51
  • About the input syntax, @md_5 you are right, I'll check out, but the first time I saw this was on a site with no such bad syntax. But as I said, I'll check it anyways. – Aitor Calderon Oct 10 '14 at 11:53
  • As expected, the result is the same closing the input tags (which in fact is XHTML). – Aitor Calderon Oct 10 '14 at 14:07
  • I really dont know why this is doing this for you. Ipad mini are up to date / safari with html5 and new updated features. Maybe its just your ipad!. Try downloading another browser from the appstore. Maybe google chrome. See if it does the same thing – md_5 Oct 10 '14 at 21:24
  • And before we get started with anything, You will need to enclose within
    before using the inputs, or its just useless to have. Maybe not having or using
    causing safari to throw errors and cause lag.
    – md_5 Oct 10 '14 at 21:26
  • Do you have any javascript tied to these inputs, or any touch event listeners anywhere? – Ryan Oct 11 '14 at 16:35
  • I have the same problem on the following form : http://bit.ly/mcchek which is fairly complex. Checked that on iPad 2/ iOS 8, iPhone 4S/iOS 8. I then downloaded chrome and it seems to fix the problem for me on my 4S w/ iOS 8. – rpechayr Oct 12 '14 at 08:59
  • @ryan I tried to disable javascript on safari on my 4S and I am still having the same issue – rpechayr Oct 12 '14 at 09:13
  • I just filled a bug to apple (#18626462 on radar). I encourage anyone having this issue to file another bug to make apple understand that this is a global issue. – rpechayr Oct 12 '14 at 11:38
  • The accepted solution also works for the same issue on Safari 8. I edited the title, hope it improves the question – Steven Lu Dec 18 '14 at 03:20

2 Answers2

7

Same issue as this one: Why does Safari Mobile have trouble handling many input fields on iOS 8

A workaround is to wrap each input element in a form element like this:

<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="text" autocorrect="off" /></form>
<form><input class=""  type="email" autocorrect="off" /></form>
Community
  • 1
  • 1
obh
  • 660
  • 5
  • 5
  • Incredible.. as ugly as it looks, it actually works! Thanks a lot. Anyways, Apple should fix this, because this is an awful work around. – Aitor Calderon Nov 27 '14 at 09:37
  • 1
    Hi, Even on Yosemite 10.10.x I've seen huge amounts of lag on certain websites including Stackoverflow. I turned off my spellcheck which helped a little, but its more wide spread than just iOS. – Mark Dec 07 '14 at 18:23
  • This is still an issue in IOS15 / IPADOS15 ; yet, it seems just wrapping them in one form tag solved my issue. – Anthony Pace Jun 09 '22 at 06:58
-3

In order for the community to have the context: would you please share the entire source for one of the pages this issue is occurring on?

If you're trying to debug on a physical iPad I strongly recommend downloading Xcode and opening the iPad emulator. From there you can view the console and a variety of other debugging tools. That should tell you an error for the speed and possibly propose a solution to fix it.

Spencer Hill
  • 1,043
  • 2
  • 15
  • 38
  • Hi, I just isolated the context where I'm getting the problem (and it's still happening with iOS 8.0.2 (only with iPad mini). The emulator doesn't behave like this, and as I said, I don't have any other iPad mini in hand to test. Anyways, I've done some research on the error log of the iPad, but nothing seems to be logged but the freeze of safari itself. Kind Regards. – Aitor Calderon Oct 16 '14 at 08:48
  • I think you're missing the point of using the emulator to debug. It's not that the issue will necessarily occur on the emulator (because you're using a desktop which has considerably more power typically) it's that you can use the debugger to see any errors that are being thrown which would give you insight into the issue. If the issue is with your application then you'll find it there. If nothing shows up that you may need to report it as a bug to Apple. I think the -1 vote isn't fair or respectful. – Spencer Hill Oct 19 '14 at 02:44
  • In fact I did try this on the emulator, and no error was shown, everything worked correctly with no strange log entries. I should probably report this bug to Apple then. (And just FYI I didn't down vote your answer). – Aitor Calderon Oct 20 '14 at 09:06
  • Thanks for noting that you didn't vote my answer down. Apple has a good structure for reporting bugs so be sure to include your physical iPad model number and the full iOS version and that should be a good next step for you. – Spencer Hill Oct 20 '14 at 17:16