专注于只读输入

时间:2015-07-14 19:52:14

标签: javascript jquery html angularjs forms

我有一个带有三个输入的表单,其中最后一个具有readonly属性,因此缺少焦点,因为用户填写最后一个输入的方式是单击某些按钮,如虚拟键盘。所以一切正常。但我试图按enter并提交表单,但由于我在第二次输入后失去了焦点,我的提交无法正常工作。我该如何解决这个问题?

form.html

<form name="myForm"
          role="form" 
          ng-submit="signin()" 
          novalidate>

        <input type="text" name="input1"/>
        <input type="text" name="input2"/>

        <div ng-controller="mycontroller">
            <span ng-click="fillInput3()">A</span>
            <span ng-click="fillInput3()">B</span>
            <span ng-click="fillInput3()">C</span>
        </div>
        <input type="text" name="input3" readonly=""/>

        <button type="submit">Ok</button>
    </form>

1 个答案:

答案 0 :(得分:1)

试试这个,

为您的按钮指定一个ID,

<button type="submit" id="submitButton">Ok</button>

在您的控制器中,插入$window作为依赖项,

app.controller('yourController', function($scope, $window){

})

然后在fillInput3()函数中写下这个,

    var element = $window.document.getElementById("submitButton");
    if(element)
    element.focus();

这将集中于&#34;提交&#34;退出fillInput3()功能时按钮。