加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – Angular ng-model在编辑时设置为undefined

发布时间:2020-12-17 17:15:27 所属栏目:安全 来源:网络整理
导读:我正在创建一个模态对话框,并在对话框关闭时尝试读回字段,但是当编辑输入时,输入字段的ng-model被设置为undefined.使用 Plunk,如果单击对话框按钮然后按确定而不修改文本字段,则会显示“blah”.但是如果根本修改文本输入,则不会显示任何内容. 对话框模板是:
我正在创建一个模态对话框,并在对话框关闭时尝试读回字段,但是当编辑输入时,输入字段的ng-model被设置为undefined.使用 Plunk,如果单击对话框按钮然后按确定而不修改文本字段,则会显示“blah”.但是如果根本修改文本输入,则不会显示任何内容.

对话框模板是:

<script type="text/ng-template" id="simpleModal.html">
    <div class="modal-header">
      <h3 class="modal-title">Simple Modal</h3>
    </div>
    <div class="modal-body">
      <div class="form-group">
        <label for="emailInput">Email</label>
        <input id="emailInput" type="email" class="form-control" ng-model="user.email">
      </div>
    </div>
    <div class="modal-footer">
      <button class="btn" type="button" ng-click="ok()">Ok</button>
    </div>
  </script>

模态对话框的控制器:

app.controller('SimpleModalController',function($scope,$uibModalInstance,$log) {

  $scope.user = {
    email: "blah"
  };

  $scope.ok = function() {
    $log.debug('simpleModal ok called ' + $scope.user.email);
    $uibModalInstance.close($scope.user.email);
  };

});

我已经看到了对https://stackoverflow.com/a/22768720/552936的引用,但是我已经改变了我的代码以反映这一点并且它没有解决问题.

解决方法

您已在模态中的输入字段中声明输入类型=“电子邮件”

<input id="emailInput" type="email" class="form-control" ng-model="user.email">

如果根据电子邮件的数据,它将传递价值.像a@b.com

您可以检查数据是否包含有效电子邮件

HTML

<form name="myForm">
  <input type="email" name="myEmail" model="myEmail" />
  <span>Valid Email {{myForm.myInput.$valid}}
</form>

PLUNKR

如果你想传递任何字符串,那么你必须使它键入=“text”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读