Javascript 为什么我的控制器没有启动function.js脚本
我有Javascript 为什么我的控制器没有启动function.js脚本,javascript,html,angularjs,angularjs-controller,Javascript,Html,Angularjs,Angularjs Controller,我有function.js脚本,其中包括onClickClear()和onValidate()函数,但它们根本没有启动。我在函数中注入了loginCtrl,但它仍然没有启动onClickClear()和onValidate()函数。下面是function.js代码,它清除文本框并添加验证和mymain.cshtml: var app = angular.module('HelloWorld', []); app.controller("loginCtrl", function ($scope)
function.js
脚本,其中包括onClickClear()
和onValidate()
函数,但它们根本没有启动。我在函数中注入了loginCtrl
,但它仍然没有启动onClickClear()
和onValidate()
函数。下面是function.js
代码,它清除文本框并添加验证和mymain.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>
var-app=angular.module('HelloWorld',[]);
应用控制器(“loginCtrl”,功能($scope){
$scope.onClickClear=函数(){
$scope.UsernameTxtBox=“”;
$scope.passwordTxtBox=“”;
$scope.rememberMeCheckBox=“”;
};
$scope.onValidate=函数(){
返回($scope.UsernameTxtBox!=''&&$scope.UsernameTxtBox!=null)&&
($scope.passwordTxtBox!=''&&&$scope.passwordTxtBox!=null);
};
});
登录
用户名:
用户名应至少包含3个字符
超出限制
密码:
密码应至少包含3个字符
超出限制
记得我吗
清楚的
登录
不是会员?登记
我不确定您要做什么,但示例是在代码片段中工作的。。。它基本上是从代码中剪切和粘贴的,我只是将body标签改为div,并添加用户名和密码的两个输入框
var-app=angular.module('HelloWorld',[]);
应用控制器(“loginCtrl”,功能($scope){
$scope.onClickClear=函数(){
$scope.UsernameTxtBox=“”;
$scope.passwordTxtBox=“”;
$scope.rememberMeCheckBox=“”;
};
$scope.onValidate=函数(){
返回($scope.UsernameTxtBox!=''&&$scope.UsernameTxtBox!=null)&&
($scope.passwordTxtBox!=''&&&$scope.passwordTxtBox!=null);
};
});代码>
登录
记得我吗
清楚的
登录
不是会员?登记
我无法复制这个。这段代码看起来很好,但用户名txtbox和密码txtbox没有定义。是的,代码很好。它适用于我以前的应用程序。我不知道为什么它在这一个上不起作用。如果你知道这个代码是好的,那么你为什么要发布它?发布不工作的代码。代码没有按预期的方式工作。正如我所说,它不会激发onClickClear()和onValidate()@LeboneMadconald控制台中是否有任何错误?代码确实在代码段中运行。我将body标签改为div,但它仍然不起作用。谢谢。一定是脚本之外有其他东西阻止它运行。。。您确定控制台中没有任何错误吗?Javascript打开?控制台中唯一的消息是“主线程上的同步XMLHttpRequest已被弃用,因为它会对最终用户的体验造成有害影响。有关更多帮助,请检查。(程序):250警告:尝试多次加载angular。”检查包含angular的
标记?也许有两个?或者可能angular已经在一个包中了(concat和minified)?如果是,请尝试删除其中一个?或者您是否在某个地方有代码试图在脚本中通过ng app指令引导angular?页面上有多个ng应用程序指令吗?我删除了一个包含angular的标签,但它似乎仍然不起作用。我将重新启动我的项目,然后再次运行它,看看它是否能工作。