使用按钮提交,在输入时,仅在Angular的表单之外

时间:2017-04-05 18:32:49

标签: javascript html angularjs forms

您将为Angular“表单”实现什么解决方案,您希望它在输入键按下时提交,但您无法重新排列元素以适合<form>元素。比如像这样:

<div>
    <input/>
    <input/>

    //This might act as a kind of custom built select
    <ul>
        <li></li>
    </ul>

    <form></form> //Dropzone form for instance.

    <button type="submit" ng-click="submitFunction()">Submit</button>
</div>

我希望用户能够在焦点位于任何这些元素(不仅仅是真正的表单元素)时点击输入,并让表单提交(当然验证通过)。解决方案应该是纯粹的Angualr(如果可能的话)。我宁愿它不使用复杂的CSS定位,我不想重新排列和混淆html结构。

我在网上看到了一个自定义“ngEnter”类型指令的解决方案,我认为它有希望,但我不认为团队中的每个人都会喜欢这个解决方案。我想知道别人怎么可能接近这个。

1 个答案:

答案 0 :(得分:0)

See this article for more info

这是一个片段,显示如何使用ng-keypress有条件地登录控制台:

angular.module('myExample', [])
  .controller('myController', ['$scope', function($scope) {
    $scope.myFunction = function() {
     console.log('hi!');
    }
  }]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="myExample">
  <div ng-controller="myController">
    <input placeholder="type something" ng-keypress="$event.which === 13 && myFunction()">
  </div>
</div>