我有一个表单,当第一个字段被更新时会更新另一个字段。更改事件经过一段时间的延迟后,另一个字段将更新,如debounce
属性中的ng-model-options
条目所指定。
我的问题是,提交表单时,包括在第一个字段中键入Enter键时,我希望另一个字段尽快更新(即,延迟为0)。
当前,当快速键入并按Enter时,由于change
延迟,重复字段不会以最新值提交,尽管我尝试使用submit
延迟。
在提交表单之前,如何按Enter键尽快更新重复的字段值?
<html ng-app>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
</head>
<body>
<form action="" method="POST">
<div>
<label>Name:</label>
<input
type="text"
ng-model="yourName"
ng-model-options="{ updateOn: 'submit default', debounce: { submit: 0, default: 2000 } }"
placeholder="Enter a name here"
>
</div>
<hr>
<div>
<label>Duplicated field:</label>
<input name="duplicatedField" type="text" ng-value="yourName">
</div>
<button type="submit">Submit</button>
</form>
</body>
</html>
最佳答案
看看https://docs.angularjs.org/api/ng/directive/ngSubmit。它应该补偿您对ng-model产生的任何反跳。
您也可以直接提交yourName作为帖子的另一部分。还是重复的字段在更新时与yourName的数据不同?这样,重复的字段仅在前面显示,您应该始终提交正确的yourName。
关于angularjs - AngularJS-提交表单时如何忽略反跳?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34808680/