Onsen,AngularJS和上一个下一个按钮iOS

时间:2018-04-11 09:43:56

标签: angularjs cordova input onsen-ui tabindex

我使用Onsen和Anguarlarjs来制作我的移动应用。

该应用有四个标签,标签二包含一个表单,标签四包含另一个表单。当我的应用程序在iOS平台上运行时,我填写两个选项卡表单,Apple键盘显示下一个上一个按钮。

当焦点位于最后一个输入时,启用下一个按钮。如果我单击下一个按钮,则四页的第一个输入是焦点,并且标签失控。 我尝试使用<input tabindex="">来解决此问题但无法正常工作。

如何在单击下一个按钮时修复第二页到第四页跳转的表单?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我能够解决问题。我禁用了form2中的输入,并在tab1可见时启用了form1中的输入。如果tab2可见,则表示1禁用输入并启用form1输入。这样,ios中的next-previous按钮按正确顺序工作,不会从一种形式跳转到另一种形式。 这是代码:

-Controller

$scope.checkTab = function (tab) {
    if (tab == 1 || tab==4) {
        var form1 = document.getElementById("form1");
        var form2 = document.getElementById("form2");

        switch (tab) {
            case 1:
                disableForm(form1,false);
                disableForm(form2,true);
                break;

            case 4:
                disableForm(form1,true);
                disableForm(form2,false);
                break;

        }
    }
}
function disableForm(form,disabled){
    var elements = form.elements;
    for (var i = 0, len = elements.length; i < len; ++i) {
        elements[i].disabled = disabled;
    }
}

-HTML

 <ons-tab ng-click="checkTab(0)" page="html/page.html" active> //number is tab position 

问候