ng disabled不是禁用Angular JS中的按钮
ng-disabled is not disabling a button in Angular JS
为什么按钮没有被禁用?
var mainApp = angular.module('mainApp', []);
mainApp.controller('mainController', function ($scope) {
$scope.form = {
login: ''
};
});
<form ng-controller="LoginAppCtrl as lc" ng-app="MTApp">
<div class="login">
<h1>LOG IN</h1>
</div>
<div>
<div>User Name :</div>
<div>
<input type="text" name="tbUserName" required ng-model="lc.request.user">
</div>
</div>
<div>
<div>Password :</div>
<div>
<input type="text" name="tbPassword" required ng-model="lc.request.password">
</div>
</div>
<div>
<div>
<button ng-click="lc.submitRequest()" ng-disabled="lc.request.user == '' || lc.request.password == '' ">Sign In</button>
</div>
</div>
</form>
我是Angular JS的新手,我正在尝试制作一个简单的登录表单,如果登录成功,将显示其他表单,如果不成功,则登录表单将保留。有人能帮我吗?我需要基本的教程。
您的代码中有几个错误:
第一个是您将模块声明为主应用程序:angular.module('mainApp', []);
,但您正在执行ng-app="MTApp"
。您需要使用您声明的应用程序,这意味着它需要是ng-app="mainApp"
。
控制器声明和ng-controller
也是如此,它需要相同。
第二个问题是,如果request
是一个对象,您应该在您的控制器上启动它:
$scope.request = {};
第三个问题是您还需要检查undefined
,而不仅仅是一个空字符串:
ng-disabled="!request.user || !request.password"
看看这个Fiddle的完整代码&HTML。
禁用按钮功能可以通过两种方式实现
1) 基于文本框中的值,没有与控制器对象相关的值。为等表单元素命名
<form name='form1'>
<div>
<div>User Name :</div>
<input type="text" name="tbUserName" required ng-model="lc.request.user">
</div>
<div>
<div>Password :</div>
<input type="text" name="tbPassword" required ng-model="lc.request.password">
</div>
<div>
<button ng-disabled="form1.$invalid">Sign In</button>
</div>
</form>
2) 基于控制器中定义的对象。
如果您的控制器中有对象,请说$scope.user = {name:'', password:''}
然后在您可以使用的输入框ng-model='user.name'
和ng-model = 'user.password'
在提交按钮,您可以使用ng-disabled=" user.name === '' || user.password === '' "
然后,提交按钮将被禁用,除非您填写这两个文本框。
<form>
<div>
<div>User Name :</div>
<input type="text" name="tbUserName" required ng-model="user.name">
</div>
<div>
<div>Password :</div>
<input type="text" name="tbPassword" required ng-model="user.password">
</div>
<div>
<button ng-disabled="user.name==='' || user.password===''">Sign In</button>
</div>
</form>
控制器应具有对象定义的
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.user = {name:'',password:''};
});
这是你期待的吗?
相关文章:
- 未检测到js按钮点击
- 点击蓝色按钮(点击vbs中的js按钮)
- CSS for JS 按钮适用于本地计算机,但不适用于服务器
- 挖空.js按钮读取对象列表中的一行
- JS按钮,绑定功能不起作用
- 防止双击带有挖空.js按钮
- 页面上有多个 JS 按钮,页面上具有翻转状态
- 第二个 JS 按钮触发第一个 JS 按钮
- php + JS 按钮值保存
- 制作JS按钮,在点击时切换其图像
- 用python点击在线js按钮
- Html按钮,可以在每个分区中加载/激发多个JS/按钮
- PHP-JS按钮点击获取最后插入的值
- 我如何编程一个JS按钮,它也可以在点击和滚动时激活转换
- 如何创建动态流星js按钮,该按钮将与渲染的任何集合同步
- JS按钮来执行rails代码
- JS按钮的最大值
- 如何在Js按钮单击上执行带有Javascript变量的PHP脚本?
- Bootstrap和Angular JS按钮问题
- 敲除js按钮点击全选复选框