【问题标题】:Form is not being set to $dirty even though input is being edited即使正在编辑输入,表单也没有设置为 $dirty
【发布时间】:2015-11-06 11:26:40
【问题描述】:

我正在使用 angular-unsaved Changes 指令以及 angular 内置表单控制器来检测表单是否为 $dirty

我在特定页面上有一个表单,即使我编辑元素,该表单也不会注册为脏页。我什至剥光一切,只留下:

<form unsaved-warning-form class="form-horizontal" name="WHAT">

        <input type="text" name="thematif" id="thematiff" class="form-control" >


    </form>

即使我更改输入的值,form 也永远不会是 $dirty。有什么想法可能导致无法检测到input 的更改?是否应该有一个 angular 输入等效标签而不是一个普通的旧“输入”?

什么可能会禁用检测?

【问题讨论】:

  • 你能提供小提琴吗?
  • @Anik Islam Abhi 不是真的,因为我必须提供整个项目并且它是专有的。问题是这种形式应该可以工作......原始/肮脏的功能可能会被破坏的方式是什么?

标签: angularjs forms


【解决方案1】:

您的输入字段中缺少 Ng-model。

验证和所有表单增强都是通过使用 ng-model 指令(及其控制器)提供的。所以添加 ng-model 一切正常。

见:http://jsbin.com/podepo/edit?html,output

<form unsaved-warning-form class="form-horizontal" name="WHAT">
    <input type="text" name="thematif" ng-model="whatever" >

    <pre>{{WHAT|json}}</pre>
</form>

【讨论】:

  • 非常感谢...这正是问题所在!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-05
  • 2019-05-30
  • 2015-07-17
  • 2021-08-04
  • 1970-01-01
  • 1970-01-01
  • 2015-09-02
相关资源
最近更新 更多