【问题标题】:Reset HTML form fields (avoid undo capability)重置 HTML 表单字段(避免撤消功能)
【发布时间】:2014-11-02 10:30:09
【问题描述】:

我在 SPA(基于 AngularJS 的单页应用程序)中遇到问题。

场景:

  1. 用户使用包含用户名和密码的导航栏登录系统,在后台我正在重置包含登录名和密码的表单..

  2. 用户点击指向他/她的个人资料的链接。

  3. 按下导航栏注销按钮,我将用户引导至主页。

  4. 如果我站在用户名输入控件中并按 Control + Z 撤消,我会得到用户名,另一个 Control + Z 也会检索密码。

如何重置这两个字段的撤消(历史)功能。

顺便说一句:如果我刷新页面,它就消失了。

谢谢你,

【问题讨论】:

    标签: javascript html angularjs twitter-bootstrap


    【解决方案1】:

    这在 IE 和 Firefox 中似乎是一个问题(或功能?),但在 Chrome 中似乎不会发生。

    从输入框中清除撤消历史记录的一种快速而简单的方法是将它们从 DOM 中删除并重新添加。在 Angular 中,我们可以使用 ngIf...

    <input ng-model="user.username" type="text"     ng-if="enabled" placeholder="Username" />
    <input ng-model="user.password" type="password" ng-if="enabled" placeholder="Password" />
    

    清除文本框时,切换enabled 属性...

    $scope.clear = function () {
        $scope.user = {};
    
        $scope.enabled = false;
        $timeout(function () { $scope.enabled = true });
    }; 
    

    Live Demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 2013-10-03
      • 1970-01-01
      相关资源
      最近更新 更多