javascript - Change input field in angularJS -


i'm new angularjs , want rewrite input field when user presses character. example, if user enters "aab", when "b" pressed want replace entire field "y".

using ng-keypress partly works, leaves "yb" instead of "y". full example code below. test enter "aab".

<html ng-app="testapp"> <body ng-controller="testctrl ctrl">  <form name="testform"> <input   type="text"   ng-keypress="ctrl.keypressfunc($event)"   name="testname"   ng-model="ctrl.testvalue"   required > <br/> ctrl.testvalue: {{ctrl.testvalue}} <br/> ctrl.eventa: {{ctrl.eventa}} <br/> <p/> ctrl.eventa.charcode: {{ctrl.eventa.charcode}} <br/> ctrl.eventa.keycode: {{ctrl.eventa.keycode}} <br/> ctrl.eventa.shiftkey: {{ctrl.eventa.shiftkey}} <br/> ctrl.eventa.altkey: {{ctrl.eventa.altkey}} <br/> ctrl.eventa.ctrlkey: {{ctrl.eventa.ctrlkey}} <br/> </form>  <script   src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular.js"> </script>  <script type="text/javascript">   angular.module('testapp', [])     .controller('testctrl', [function () {       var self = this;       self.eventa = null;       self.testvalue = "x";       // initialize input field        // when user presses 'b', change entire testvalue "y".       self.keypressfunc = function(eventa) {         self.eventa = eventa;         if (eventa.charcode == 98) {   // if 'b'           self.testvalue = "y";         }       };      }]); </script> </body> </html> 

how can angularjs show "y" , not "yb"? many thanks!

use preventdefault when 'b' pressed.

self.keypressfunc = function(eventa) {     self.eventa = eventa;     if (eventa.charcode == 98) {   // if 'b'       self.testvalue = "y";       eventa.preventdefault();     } }; 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -