按钮类型上的确认对话框指令=“提交”;——AngularJS
Confirmation dialog directive on button type="submit" - AngularJS
我想创建一个指令的确认对话框,当我提交表单。我在这里发现的问题是类似的,但它不能解决我的问题:
<button confirm-ng-click="Reset password?" type="submit" class="md-primary">Reset</button>
和JS:
(function () {
'use strict';
angular.module('haha', [])
.directive('confirmNgClick', [ConfirmNgClick]);
function ConfirmNgClick() {
return {
priority: -1,
restrict: 'A',
link: function (scope, element, attrs) {
element.bind('click', function (event) {
var message = attrs.confirmNgClick;
if (message && !confirm(message)) {
event.stopImmediatePropagation();
event.preventDefault();
}
})
}
}
}
})();
当我点击按钮时,对话框不会出现。我错过了什么?
将您的代码原样插入到fiddle中并查看控制台产生以下错误:
未捕获错误:[$injector:nomod]模块'haha'不可用!您要么拼错了模块名,要么忘记加载它。如果注册一个模块,请确保将依赖项指定为第二个参数。
注册模块时需要指定一个数组作为第二个参数。
(function() {
'use strict';
// Notice second argument here
angular.module('haha', [])
.directive('confirmNgClick', [ConfirmNgClick]);
function ConfirmNgClick() {
return {
priority: -1,
restrict: 'A',
link: function(scope, element, attrs) {
element.bind('click', function(event) {
var message = attrs.confirmNgClick;
if (message && !confirm(message)) {
event.stopImmediatePropagation();
event.preventDefault();
}
})
}
}
}
})();
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="haha">
<button confirm-ng-click="Reset password?" type="submit" class="md-primary">Reset</button>
</div>
我只是猜测,但我认为你的问题是以下
angular.module('haha')
.directive('confirmNgClick', [ConfirmNgClick]);
当您第一次创建模块时,angular.module
函数期望(至少)两个参数。请参阅相关文档,其中说:
如果指定[第二个参数],则正在创建新模块。如果未指定,则正在检索模块以进行进一步操作配置。
所以把上面的代码改成
angular.module('haha', [])
.directive('confirmNgClick', [ConfirmNgClick]);
请注意第二个[]
参数。
查看这个plnkr的工作示例。
如果您删除第二个[]
参数,则会在控制台上抛出错误。
相关文章:
- angularjs-控制器在表单提交时未调用
- AngularJS JQuery Ajax表单提交等效
- Angularjs:提交后清除表单无效
- 如何在提交<选择>与AngularJS
- AngularJS阻止提交如果输入没有't已验证
- 模拟提交和验证到AngularJS上的单独表单
- 提交时AngularJS中的表单验证不起作用
- 如何手动触发表单's以AngularJS提交
- angularjs提交表单中的开始日期结束日期验证应被禁用
- 使用angularjs将HTML表单数据从页面提交到另一个HTML页面
- AngularJS:表单提交没有返回JSON中的值
- 提交 angularjs 后清除表单
- 在提交 AngularJS 表单时显示元素
- 向数据库提交angularjs表格
- 如何在提交angularjs's表单后访问特定的值
- 模拟Tab键按下回车键和按钮元素触发表单提交angularjs
- 按钮类型上的确认对话框指令=“提交”;——AngularJS
- 在提交AngularJs时验证页面中是否勾选了单选按钮
- 从控制器提交angularjs表格和参数
- 接受提交 [Angularjs]