2014-11-04 63 views
0

我正在使用angularjs,在那里我创建了一个登录表单和一个控制器,我试图获取文本框的值。 我的HTML看起来像:fectching textbox value from angularjs

<div class="form-group"> 
      <label for="username">Username:</label> 
      <input type="text" class="form-control" id="user.uname" placeholder="Enter username" ng-model="usname"> 
     </div> 
     <div class="form-group"> 
      <label for="username">Firstname:</label> 
      <input type="text" class="form-control" id="user.Firstname" placeholder="Enter Firstname"> 
     </div> 

和我有一样的控制器:

module1.controller('RegisterController', function ($scope, $http) { 
    $scope.XHR_Result = "XHR Not Yet Initiated"; 

    // $scope.User = {}; 

    $scope.User = 
     { 
      username: "", 
      Firstname: "", 
      lastname: "", 
      emailID: "", 
      password: "" 
     };................... 

在控制器我想取的HTML网页上面定义的文本框的值。 您可以让我知道,我如何获得控制器中的文本框的值。

回答

0

由于Angular中的双向绑定,您不必为此做任何额外的工作。

当你拥有它声明如下:

<div ng-controller="FormCtrl"> 
    ... 
    <input type="text" ng-model="username"> 
    ... 
</div> 

现在,这个值会自动控制器中可用“FormCtrl”为:

$scope.username 
+0

使用$ scope.username将值设为null。 – kawade 2014-11-04 13:48:53

+0

你是否在你的html中加载了ng控制器的控制器? – wvdz 2014-11-04 13:57:49

+0

我没有使用ng-controller。我正在使用路由来定义控制器 – kawade 2014-11-05 10:46:04

0

你不需要设置每一个字符串“ “for angular to work

第一次使用

$scope.User = {}; 

然后为HTML使用

<div class="form-group"> 
    <label for="username">Username:</label> 
    <input type="text" class="form-control" id="user.uname" placeholder="Enter username" ng-model="User.UserName"> 
</div> 
<div class="form-group"> 
    <label for="username">Firstname:</label> 
    <input type="text" ng-model="User.FirstName" class="form-control" id="user.FirstName" placeholder="Enter Firstname"> 
</div> 

测试在一个div添加

{{User.UserName}},看看它是否工作

也是我使用驼峰需要的地方,从而尝试,让我知道

+0

我取消注释$ scope.User = {};并评论其他行,但价值将作为null – kawade 2014-11-04 13:48:00

+0

我编辑的代码是否工作?还要更改用户名到用户名 ,并在你的代码中使用propper camelcase,这使得它更容易被其他人读取 – joey 2014-11-04 13:51:19

+0

不,这不起作用。可能是我做错了什么。你可以让我知道使用$ scope.User = {}之后,我将如何获得特定的值,如用户名,名字? – kawade 2014-11-04 13:58:09

1

您只需要使用角度双向装订

https://docs.angularjs.org/tutorial/step_04

为您的代码,所有你需要做的是在<input>元素分配ng-modeluser.Firstname

<input type="text" class="form-control" ng-model="user.Firstname" id="user.Firstname" placeholder="Enter Firstname"> 
+0

我听说新版本的Angular出现了双向绑定。 – 2015-05-06 19:04:33

0

尝试在初始化函数中使用$scope.usernameFormCtrl控制器那么你的价值将可用。