cordova - formularios - Enfocar un campo de entrada en Ionic no funciona
ionic tags input (1)
Puede usar el autofocus
, pero eso solo funcionará la primera vez que abra la página, por lo tanto, intente con esta directiva. Funciona como un encanto para mí.
JS:
angular.module(''app'').directive(''focusMe'',[''$timeout'',function ($timeout) {
return {
link: function (scope, element, attrs) {
if (attrs.focusMeDisable === "true") {
return;
}
$timeout(function () {
element[0].focus();
if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.show(); //open keyboard manually
}
}, 350);
}
};
}]);
HTML:
<input type="text" id="firstName" placeholder="First Name" ng-model="registerData.firstName" focus-me focus-me-disable={{disableFlag}}>
He estado investigando y parece que este no es un problema o pregunta poco común en la comunidad iónica. Tengo un formulario simple con entradas de vista:
<input type="text" id="firstName" placeholder="First Name" ng-model="registerData.firstName">
...
En mi controlador, trato de enfocar el campo:
document.getElementById("firstName").focus();
Por supuesto, no funciona, así que como algunas publicaciones que he visto sugieren, tengo que agregar el complemento de teclado iónico . Lo hago ejecutando:
cordova plugin add https://github.com/driftyco/ionic-plugins-keyboard.git
Y luego, aparentemente, tengo que configurar esto en mi config.xml
también:
<preference name="KeyboardDisplayRequiresUserAction" value="false"/>
<feature name="Keyboard">
<param name="ios-package" onload="true" value="IonicKeyboard"/>
</feature>
Y luego, aparentemente, todo debería funcionar ... pero no es así. ¿Se me escapa algo?