2016-04-25 2 views
0

In diesem Codeabschnitt möchte ich die Validierung zum Eingabefeld hinzufügen, wenn der Wert ist, aber ich weiß nicht, warum ich nicht aktualisieren und neuen Wert eingeben kann im Eingabefeld. Ich kann den Wert des Eingabefeldes einfach nicht ändern.Eingabefeld wird nicht mit ng-keydown-Ereignis aktualisiert

Der Wert bleibt gleich, wenn ich den vorhandenen Wert lösche und etwas im vorhandenen Wert hinzufüge. Hier

ist HTML-Code:

<input ng-model="lineitemDetailsCtrlAs.lineItems.orderedQuantity" type="text" class="col-md-6 text-right panel-row-spacing" 
       ng-keydown="valueChanged($event)" required 
       /> 

und Winkelcode lautet:

$scope.valueChanged = function (event) { 
var quantityRequire={}; 
    if (event.keyCode === 48 || lineitemDetailsCtrlAs.lineItems.orderedQuantity == 0) { 
      quantityRequire = { 
       "messageId": "ORDERED_QUANTITY", 
       "params": [], 
       "severity": "ERROR" 
      }; 
      lineitemDetailsCtrlAs.errorMessages.push(quantityRequire); 
      } 
      else{ 
      event.preventDefault(); 
      } 
    }; 
+0

Können Sie Ihren Controller-Code zeigen? –

+0

Ich habe bereits meinen Controller Code gezeigt. –

+0

können Sie einen Plünderer erstellen, http://plnkr.co – dreamweiver

Antwort

1

Sie Ereignis Anhalten von "Event.preventDefault();", weil nur keycode 48 (nur Nummer 0) ist akzeptabel, andere KeyEvents fallen auf die else-Bedingung und stoppen die Aktualisierung des Eingabewerts.

+0

Ich habe sonst Teil des Codes entfernt, aber wieder kann ich Eingabefeld nicht aktualisieren –

0

denke ich Rameshkumar Arumugam recht ist, was mit Ihrem Code falsch ist, ist unten ein funktionierendes Beispiel

angular.module("myApp", []) 
 
    .controller("MainCtrl", function($scope) { 
 
    $scope.lineItems = { 
 
     orderedQuantity: 12 
 
    }; 
 
    $scope.errorMessages = []; 
 
    $scope.valueChanged = function(event) { 
 
     var quantityRequire = {}; 
 
     if (event.keyCode === 48 || $scope.lineItems.orderedQuantity == 0) { 
 
     quantityRequire = { 
 
      "messageId": "ORDERED_QUANTITY", 
 
      "params": [], 
 
      "severity": "ERROR" 
 
     }; 
 
     alert(quantityRequire["messageId"]); 
 
     $scope.errorMessages.push(quantityRequire); 
 
     } 
 
    }; 
 
    })
<div ng-app="myApp"> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
 
    <div ng-controller="MainCtrl"> 
 
    <input ng-model="lineitemDetailsCtrlAs.lineItems.orderedQuantity" type="text" class="col-md-6 text-right panel-row-spacing" ng-keydown="valueChanged($event)" required /> 
 
    </div> 
 
</div>