Angularjs 如何在angular.js中查看ng submit事件或在子窗体上输入keypress?

Angularjs 如何在angular.js中查看ng submit事件或在子窗体上输入keypress?,angularjs,keypress,angularjs-ng-form,Angularjs,Keypress,Angularjs Ng Form,我有一个包含5个步骤的多步骤表单。我希望用户能够使用enter键提交每个子表单以触发验证,并在成功时移动到下一个子表单。我找不到这样做的方法。我在想,也许我可以将ng keydown事件添加到每个子表单(或绑定到onkeydown)的自定义指令),并观察回车键keyCode 有没有人有过将此应用于角度的经验?您将如何添加此功能? 下面是子表单的一个简单HTML示例。假设“下一步”按钮在角度控制器内触发$scope.nextStep(),然后执行验证以确定用户是否可以进入下一步或是否显示验证错误

我有一个包含5个步骤的多步骤表单。我希望用户能够使用enter键提交每个子表单以触发验证,并在成功时移动到下一个子表单。我找不到这样做的方法。我在想,也许我可以将
ng keydown
事件添加到每个子表单(或绑定到
onkeydown
)的自定义指令),并观察回车键
keyCode

有没有人有过将此应用于角度的经验?您将如何添加此功能?

下面是子表单的一个简单HTML示例。假设“下一步”按钮在角度控制器内触发
$scope.nextStep()
,然后执行验证以确定用户是否可以进入下一步或是否显示验证错误

<form>
    <div ng-form="step1"></div>
    <div ng-form="step2"></div>
    <div ng-form="step3"></div>
    <div ng-form="step4"></div>
    <div ng-form="step5"></div>

    <button type="button" class="btn" ng-click="nextStep()">Next Step</button>
</form>
使用可以获取Enter(13)键事件的指令集函数,并启动验证/单步前进功能

其他解决方案,添加角度ui,并执行以下操作:

<form ui-keypress="{13:'myFunc($event)'}">
  ... input fields ...
</form>

... 输入字段。。。
更多解决方案:

使用指令集功能,该功能可以获取Enter(13)键事件,并启动验证/前进功能

其他解决方案,添加角度ui,并执行以下操作:

<form ui-keypress="{13:'myFunc($event)'}">
  ... input fields ...
</form>

... 输入字段。。。
更多解决方案:

在Plunker中创建一个简单的演示在Plunker中创建一个简单的演示谢谢您的ui按键参考。我认为这将为我所寻找的提供一个优雅的解决方案。基本上,
myFunc()
将在触发
$scope.nextStep()
之前检查
$scope.current\u表单的有效性,如果有效,在我的情况下。我对整个表单提交不感兴趣;仅提交当前活动的子表单。感谢用户界面按键参考。我认为这将为我所寻找的提供一个优雅的解决方案。基本上,
myFunc()
将在触发
$scope.nextStep()
之前检查
$scope.current\u表单的有效性,如果有效,在我的情况下。我对整个表单提交不感兴趣;仅提交当前活动的子表单。