web-dev-qa-db-fra.com

Obtenir la valeur de l'élément d'entrée HTML à partir du contrôleur Angularjs

J'essaie d'obtenir la valeur d'un élément HTML à partir du contrôleur angulaire.

   <div ng-app="myApp" ng-controller="myControler">
<br />

<input id="Text1" type="text"  runat="server" value="aValue" /

Mon contrôleur:

var myApp = angular.module('myApp', []);


myApp.controller("myControler", function ($scope, $document) {

    var name = angular.element($('#Text1')).val();
     console.log(name);

});

Mais le nom revient "non défini" ...

S'il te plaît, qu'est-ce que je fais mal?

12
GCoe

angular.element est un alias pour jquery $

Vous pouvez accéder à cet élément comme ceci: angular.element('#Text1').val();

ng-model est le moyen angulaire de le faire cependant. Vous pouvez définir la valeur de ASP en utilisant ng-init

<input id="Text1" type="text"  runat="server" ng-model="inputVal" ng-init="inputVal='aVal'">

Et cela peut être consulté à partir du contrôleur en utilisant la portée console.log($scope.inputVal);

Exemple JSfiddle: http://jsfiddle.net/n1oppeu2/

13
Preston Van Loon

Pourquoi avez-vous besoin d'un élément angulaire pour accéder à un élément de formulaire? 

Vous pouvez obtenir et définir une valeur en liant le modèle à celui-ci. 

comme ça 

<input id="Text1" type="text"  runat="server" ng-model="input.field1" />

manette

$scope.input={
  field1:''
}
5
Anik Islam Abhi

Utilisation du sélecteur d'élément angulaire #

<input id="Text1" type="text"  runat="server" value="aValue" />

console.log(angular.element('#Text1').val());

ou

console.log(angular.element('#Text1')[0].value);
0
pandian_Snkl