javascript - 检查表单输入字段是否没有改变

标签 javascript angularjs forms

我有一个表单,我们称它为myForm,类似于:

<form name="myForm" class="vertical grid-block shrink" ng-init="initSearch()" ng-submit="doSearch(myForm.$valid)" novalidate>

还有三个输入字段:一个保留详细信息,第二个是开始日期,第三个是结束日期。

字段看起来像这样:

<input id="details" type="text" ng-model="myObject.details" placeholder="DETAILS_PLACEHOLDER">


<input id="from" class="uppercase" type="text" name="from" placeholder="{{datePlaceHolder}}" ng-model="myObject.from" required/>

<input id="until" class="uppercase" type="text" name="until" placeholder="{{datePlaceHolder}}" ng-model="myObject.until"/>

我想显示一个基于表单字段的按钮。如果表单域没有改变,按钮应该被隐藏。

我尝试使用 $dirty 但问题是 $dirty 仍然是 true 即使用户输入详细信息然后删除文本。 有人对此有任何解决方案吗?

即使我从另一个可能有另一个 Controller 的页面返回表单,该解决方案也必须有效。

感谢任何帮助。谢谢

最佳答案

这应该可以解决这个问题。它检查 $pristine,即未触及的。

<button ng-show="myForm.$pristine"></button>

关于javascript - 检查表单输入字段是否没有改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41260217/

相关文章:

php - 构建一个 mysqli 查询,按顺序和每页显示

javascript - 我可以从 FlatList 中的 URI 渲染图像吗

php - 为什么 PHP 不读取我的 $_POST 数据?

javascript - 为什么渲染树不包含绝对定位的元素?

javascript - 从 Node/Express/Angular/PhantomJS 导出带有图表的 PDF 报告

html - 标签和标签样式不适用于我的表单。

javascript - Bootstrap 3 菜单下拉奇怪BUG

javascript - 如何从 AngularJS Controller 逻辑内部更改 HTML 元素的 CSS 类

angularjs - 动态地将 Angular2 组件附加到 dom

javascript - 使用 HTML 表单的请求正文发出 Post 请求