3

When running on a touchscreen device (iPhone, in my case, but I presume it does this on others), when the virtual keyboard pops up for a form field, there are added navigation buttons at the top of the keyboard: "previous", "next", "done". (And sometimes "autofill").

This is apparently the Mobile Safari "form assistant".

I find this redundant, superfluous, and confusing. iPhone users aren't used to this in native apps, and it's unnecessary. It's a touch device. You touch what you want to change. There's no need for navigation buttons!

I suppose users may be familiar with this, IF they use their device often to fill forms on websites. I've had an iPhone since the 3G, and never noticed this. I don't think I've ever filled a form on Mobile Safari! (I would use my desktop...)

The form assistant is there for navigating forms on websites, which might not be designed appropriately for a mobile device. So, in that context it serves a useful purpose.

But when using JQuery Mobile, you ARE designing an interface for use on a touchscreen mobile device. There shouldn't be a need for the form assistant. I find it particularly annoying in a local app (PhoneGap, Rhodes, etc.).

I've done some searches, and haven't come up with a solution.

Does anybody know how to turn this off?

RayElward
  • 31
  • 2
  • 2
    Given that a couple moments on Google turned up two unanswered duplicate questions here on Stackoverflow ("[Disabling Previous and Next buttons in Mobile Safari](http://stackoverflow.com/questions/7472465/disabling-previous-and-next-buttons-in-mobile-safari)" and "[Is it possible to remove the form assistant in the mobile safari virtual keyboard?](http://stackoverflow.com/questions/6485997/is-it-possible-to-remove-the-form-assistant-in-the-mobile-safari-virtual-keyboar)") I'd suggest that it's not possible, but I've not seen a concrete answer to that effect as yet. – David Thomas Dec 10 '11 at 19:52

2 Answers2

3

There is no solution for mobile Safari, but for PhoneGap there certainly is.

As of 2.6.0 there is an option in the config.xml

<preference name="HideKeyboardFormAccessoryBar" value="true" />

For versions before 2.6.0, or more sophisticated use, there is the KeyboardToolbarRemover, which even allows to dynamically show and hide the keyboardAcessoryView.

In your Javascript, include the module

var toolbar = cordova.require('cordova/plugin/keyboard_toolbar_remover');

To disable the toolbar

toolbar.hide()

To re-enable the toolbar

toolbar.show()
3

sorry, its not possible to remove the Form Assistant inside mobile safari.

headkit
  • 3,307
  • 4
  • 53
  • 99