Получить значение из входного элемента HTML из контроллера Angularjs

Я пытаюсь получить значение из элемента HTML из контроллера Angular.

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

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

Мой контроллер:

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


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

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

});

Но имя возвращает "undefined"...

Пожалуйста, что я делаю неправильно?

Ответ 1

angular.element является псевдонимом для jquery $.

Вы можете получить доступ к этому элементу следующим образом: angular.element('#Text1').val();

ng-model - это способ angular. Вы можете установить значение из ASP с помощью ng-init

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

И это можно получить из контроллера с помощью области console.log($scope.inputVal);

Пример JSfiddle: http://jsfiddle.net/n1oppeu2/

Ответ 2

Зачем вам нужен элемент angular для доступа к элементу формы?

Вы можете получить и установить значение, привязав к нему модель

как это

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

контроллер

$scope.input={
  field1:''
}

Ответ 3

Использование селектора элементов angular #

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

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

или

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