为什么我的控制器没有启动函数.js脚本

Why is my controller not firing my function.js script

本文关键字:函数 js 脚本 启动 我的 控制器 为什么      更新时间:2023-09-26

我有function.js脚本,其中包括onClickClear()onValidate()函数,但它们根本没有启动。我在函数中注入了loginCtrl,但它仍然没有激发onClickClear()onValidate()函数。这是function.js代码,它清除文本框并添加验证和我的main.cshtml:

var app = angular.module('HelloWorld', []);
app.controller("loginCtrl", function ($scope) {
    $scope.onClickClear = function () {
        $scope.UsernameTxtBox = "";
        $scope.passwordTxtBox = "";
        $scope.rememberMeCheckBox = "";
    };
    $scope.onValidate = function () {
        return ($scope.UsernameTxtBox != "" && $scope.UsernameTxtBox != null) &&
        ($scope.passwordTxtBox != "" && $scope.passwordTxtBox != null);
    };
});
    <body ng-app="HelloWorld">
        <div ng-controller="loginCtrl">
            <div class="container">
                <div class="row">
                    <div class="col-xs-2 col-xs-push-5">
                        <h3>Login</h3>
                    <p>
                        Username:<br />
                        <input type="text" autofocus name="UsernameTxtBox" ng-model="UsernameTxtBox" ng-minlength="3" ng-maxlength="20" placeholder="Username" required>
                        <span style="color: red" ng-show="form1.UsernameTxtBox.$error.minlength">Userame Should Contain Atleast 3 Characters</span>
                        <span style="color: red" ng-show="form1.UsernameTxtBox.$error.maxlength">Limit Exceeded</span>
                    </p>
                    <p ng-bind="name"></p>
                    <p>
                        Password:<br />
                        <input type="password" name="passwordTxtBox" ng-model="passwordTxtBox" ng-minlength="3" ng-maxlength="20" placeholder="Password" required>
                        <span style="color: red" data-ng-show="form1.passwordTxtBox.$error.minlength">Password Should Contain Atleast 3 Characters</span>
                        <span style="color: red" data-ng-show="form1.passwordTxtBox.$error.maxlength">Limit exceeded</span>
                    </p>
                    <p ng-bind="surname"></p>
                        <div class="checkbox">
                            <label>
                                <input type="checkbox" data-ng-model="rememberMeCheckBox" data-ng-disabled="!onValidate()">Remember me</label>
                        </div>
                        <button type="button" class="btn btn-success btn-success btn-sm" data-ng-click="onClickClear()" ng-disabled="!onValidate()">Clear</button>
                        <button type="button" class="btn btn-primary btn-sm" data-ng-click="onClickLogin()" ng-disabled="!onValidate()">Login</button>
                        <button type="button" class="btn btn-link btn-xs" data-ng-click="onClickOpen()">Not A Member? Register</button>
                    </div>
                </div>
            </div>
        </div>
    </body>

我不确定你做了什么,但这个例子是在代码片段中工作的。。。它基本上是从代码中剪切和粘贴的,我只需将body标记更改为div,并添加用户名和密码的两个输入框。

var app = angular.module('HelloWorld', []);
app.controller("loginCtrl", function ($scope) {
    $scope.onClickClear = function () {
        $scope.UsernameTxtBox = "";
        $scope.passwordTxtBox = "";
        $scope.rememberMeCheckBox = "";
    };
    $scope.onValidate = function () {
        return ($scope.UsernameTxtBox != "" && $scope.UsernameTxtBox != null) &&
        ($scope.passwordTxtBox != "" && $scope.passwordTxtBox != null);
    };
});
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    <div ng-app="HelloWorld">
        <div ng-controller="loginCtrl">
            <div class="container">
                <div class="row">
                    <div class="col-xs-2 col-xs-push-5">
                        <h3>Login</h3>
                        <div class="form-group"><input class="form-control" ng-model="UsernameTxtBox" placeholder="Username"></div>
                        <div class="form-group"><input class="form-control" type="password" ng-model="passwordTxtBox" placeholder="Password"></div>
                        <div class="checkbox">
                            <label>
                                <input type="checkbox"  data-ng-model="rememberMeCheckBox" data-ng-disabled="!onValidate()">Remember me</label>
                        </div>
                        <button type="button" class="btn btn-success btn-success btn-sm" data-ng-click="onClickClear()" ng-disabled="!onValidate()">Clear</button>
                        <button type="button" class="btn btn-primary btn-sm" data-ng-click="onClickLogin()" ng-disabled="!onValidate()">Login</button>
                        <button type="button" class="btn btn-link btn-xs" data-ng-click="onClickOpen()">Not A Member? Register</button>
                    </div>
                </div>
            </div>
        </div>
    </div>