Focus input does not open keyboard on Android

I want a form input to be automatically focused after the user dismisses the keyboard once they’ve filled the previous input. To do this, I attached a Focus Input function to the Component onBlur event of the previous input with the next input as target.

What I expect:
The user taps on the input field, fills it and then taps enter or outside the keyboard to dismiss it. The keyboard then either disappears and reappears again with the second input now focused on, or it remains open with the second input now focused on. Either way, the user can continue typing without having to tap on each input manually.

What I actually see:

iOS
Everything works as expected.

Android
The user taps on the input field, fills it and then taps enter to dismiss the keyboard. The keyboard then flashes for a split second, after which the second input is now focused but the keyboard remains dismissed and it requires the user to tap manually on the second input to bring it back, thus making the function useless.

The intended behaviour only happens if the user taps anywhere outside of the keyboard instead of tapping enter to dismiss it. In such scenario, the keyboard is first dismissed then brought back again automatically with the second input in focus. However, the vast majority of people will definitely tap enter and not outside the keyboard, thus severely rendering the function useless on Android devices.

As this seems like a bug to me I’m tagging you @Mari to help speed things up.

Debugging with the console I see the following error after tapping enter in the keyboard:

errrr Object {id: "31ce5dad.6d27b2", type: "function2", z: "79723417.54996c", _closeCallbacks: Array[1], _alias: "bef48800.91fff"…}
9 Jun 17:52:32 - [error] [function2:31ce5dad.6d27b2] TypeError: Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.

this is also not working for me on iPhone

Did you manage to find the solution? Thank you

Am also having this issue if anyone has a solution?

I have been able to achieve what I believe to be a much smoother way of essentially achieving the same thing using a single input bound to an if statement for value which references a number variable to alter the value variable, then increasing the number variable by one when the user submits or enters a value which can be defined. Only one input us needed. E.G., IF(IS_EQUAL(numberVariable, 1), bindDatatoUserName, IF (…,. 2), … toUserEmail, etc. …

On click: If number variable 1, etc… Increase number variable by 1, etc…

You can get fancy with clearing the variables or simply use them as a placeholder and after transferring value to an object being built, clear immediately. You can also apply a slight fade animation between each event and change the label so that it appears very smooth transition to user and input is always focussed.

1 Like