2014-11-04 64 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控制器那麼你的價值將可用。