【问题标题】:Form showing ng-pristine even when filled with a value即使填充了值,表单也会显示 ng-pristine
【发布时间】:2015-12-22 15:03:07
【问题描述】:

请看下面的截图:

这是相应的标记:

HTML

<div class="container-fluid" ng-controller="dictController">
    <div class="row row-padding">
        <form class="form-horizontal" role="form" name="lookup-form" id="lookup-form">
            <div class="input-group col-md-6">
                <input  id="word" type="text" placeholder="Enter a Spanish or English word here..." class="form-control input-lg lookup-field lookup-field-single" onMouseOver="$(this).focus();" required>
                <i class="fa fa-times fa-lg delete-icon" onfocus="clearword();" onclick="clearword();" data-toggle="tooltip" data-placement="top" title="Click to clear entered text"></i>
              <i class="fa fa-keyboard-o fa-2x kb-icon" onfocus="toggler('virtualkeypad', this);" onclick="toggler('virtualkeypad', this);" data-toggle="tooltip" data-placement="top" title="Click to enter accented characters"></i>
                <div class="input-group-btn">
                    <button class="btn btn-lg btn-primary lookup-submit" type="submit" id="lookup" onclick="$('#word').blur(); lookup_check($('#word').val()); return(false);">Lookup</button>
                </div>
            </div>
            <div id="virtualkeypad" class="btn-group vkb-hide"><!--col-md-offset-4-->
              <button class="btn btn-lg first-btn" type="button" onClick="spl_character('á');">á</button>
              <button class="btn btn-lg" type="button" onClick="spl_character('é');">é</button>
              <button class="btn btn-lg" type="button" onClick="spl_character('í');">í</button>
              <button class="btn btn-lg" type="button" onClick="spl_character('ó');">ó</button>
              <button class="btn btn-lg" type="button" onClick="spl_character('ú');">ú</button>
              <button class="btn btn-lg" type="button" onClick="spl_character('ü');">ü</button>
              <button class="btn btn-lg last-btn" type="button" onClick="spl_character('ñ');">ñ</button>
            </div>
        </form>
</div>

代码运行良好,我对其中的任何方面都没有任何问题。但是,我注意到有问题的表单已被 Angular 类 ng-pristine 标记,即使输入框有一个值(book)。不应该是ng-dirty吗?此外,输入框本身似乎没有任何 Angular 标签。我只是好奇是什么原因造成的。

【问题讨论】:

  • 尝试将ng-model 绑定添加到某个作用域变量。这就是 Angular 将表单输入值连接到数据模型的方式
  • 请发表您的评论作为答案。成功了!
  • 酷 - 这很容易

标签: html angularjs forms


【解决方案1】:

Angular 的神奇之处在于它自动将 DOM 元素绑定到数据模型中的变量。在这种情况下,如果您将ng-model 绑定添加到您的$scope 中的变量,这应该可以按您的预期工作。

这就是 angular 如何“知道”你的表单是脏的还是原始的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 2021-03-12
    • 1970-01-01
    • 2014-10-14
    • 1970-01-01
    相关资源
    最近更新 更多