【问题标题】:how to send values from view controls to angularjs controller..?如何将值从视图控件发送到 angularjs 控制器..?
【发布时间】:2014-10-31 06:57:09
【问题描述】:

在我的 Angularjs MVC 应用程序中,我为登录编写代码,它接受来自两个文本框的值作为用户名和密码 我的 Angularjs 控制器代码工作正常,但视图有问题

     $scope.Login = function Login(U_Name, U_PWD) {
      //Defining the $http service for  login the admin user
      $http({
          method: 'POST',
          url: '/Admin/IsAuthenticate',
          data: { User_Name: U_Name, 

              User_PWD: U_PWD }
      }).success(function (result) {

          if (result == true) {
              alert('user is valid');
          }
          else {
              alert('unauthorised access!');
          }
      })
          .error(function (error) {
              //Showing error message 
              $scope.status = 'Unable to connect' + error.message;
          });
  }

此代码在 ng-click 事件上执行,但不接受来自输入框的值 我的视图代码如下:

  <div ng-app="angApp">
     <div ng-controller="AdminCtrl">
        <div class="admin-login">
            <h2>using angularjs</h2>
            <input type="text" id="txtUserAng" placeholder="User Name" ng-model="U_Name" />
            <input type="password" id="txtPWDAng" placeholder="Password" ng-model="U_PWD" />
            <input type="button" id="login" value="login" ng-click="Login()" />
        </div>
      </div>
   </div>

【问题讨论】:

    标签: angularjs angularjs-directive angularjs-scope


    【解决方案1】:

    您的问题是您没有将U_Name, U_PWD 变量传递给Login 函数。您需要将 input 值传递给您的函数。

    有两种实现方式。

    首先,直接将模型传给函数类似

     <input type="button" id="login" value="login" ng-click="Login(U_Name, U_PWD)" />
    

    第二,使用$scope.U_Name和$scope.U_PWD

    $scope.Login = function() {      
        var U_Name = $scope.U_Name, 
            U_PWD = $scope.U_PWD
    }
    

    【讨论】:

    • 感谢@Satpal 第一种方法工作正常,但第二种方法不行不工作
    【解决方案2】:

    在控制器中得到这个

    这个例子没有设置login参数

       $scope.Login = function Login() {
         var U_Name = $scope.U_Name;
         var U_PWD = $scope.U_PWD;
        console.log($scope.U_Name);
        console.log($scope.U_PWD);
        }
    

    您可以设置login该模型的函数参数

    <input type="button" id="login" value="login" ng-click="Login(U_Name, U_PWD)" />
    

    【讨论】:

    • 谢谢@Harutyun 这个工作正常,但第一种方法不行不工作
    【解决方案3】:
    use this 
    
    data: 
    { 
    User_Name: $scope.U_Name, 
    User_PWD: $scope.U_PWD 
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-11
      • 2022-01-17
      • 1970-01-01
      • 2014-02-11
      • 2021-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多