2014-09-09 2 views
2

У меня проблема в SPA (одностраничное приложение на основе AngularJS).Сбросить поля формы HTML (исключить возможность отмены)

Сценарий:

  1. пользователь Войти в систему, используя Navbar, который содержит имя пользователя и пароль, за сценой, я сбросить форму, содержащую логин и пасс ..

  2. пользователь нажимает ссылку на свой профиль.

  3. Нажав кнопку входа в навигатор, я отправляю пользователя на домашнюю страницу.

  4. Если я встаю в систему ввода имени пользователя и нажмите Control + Z, чтобы отменить, я получу имя пользователя, а другой Control + Z также получает пароль.

Как я могу сбросить функциональность отмены (истории) этих двух полей.

ОТВЕТ: Если я обновляю страницу, она исчезла.

Спасибо,
Чен

ответ

0

Я думаю, что это будет помогать вашим, пожалуйста, см ссылку

http://addyosmani.com/blog/mutation-observers/ 
3

Это выглядит как проблема (или особенность?) В IE и Firefox, но похоже, не происходит в Chrome.

Быстрый и грязный способ удалить историю отмены из полей ввода - удалить их из DOM и добавить их обратно. В угловому мы можем использовать 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

Смежные вопросы