angularJS绑定到输入的输入键,如果输入是按钮则提交

brabertaser19

我有这样的指令,可以转到模态窗口中的下一个输入(或按钮):

.directive('autoVrm', function () {
    return function (scope, element, attrs) {
                var counter = 0;
            element.bind("keydown keypress", function (event) {
                console.log(element);           
                if(event.which === 13) {
                        counter++;
                    event.preventDefault();
                    var elementToFocus = element.find('input')[counter] || element.find('button')[1];
                    console.log(elementToFocus.type);
                    if(angular.isDefined(elementToFocus))
                        elementToFocus.focus();
                    if (elementToFocus.type === 'button'){
                        counter = -1;
                        elementToFocus.bind("keydown keypress", function (eventSubmit) {
                            if(eventSubmit.which === 13) {
                                console.log('submit');
                            }
                        });
                    }
                }
            });
        };

但是我有一个麻烦,如果我在按钮上,然后单击输入,我会得到:

Uncaught TypeError: undefined is not a function

但为什么?如何使输入单击提交表单?不依赖控制器?

camden_kid

尝试为未捕获的TypeError尝试angular.element(elementToFocus).bind。

关于您的新评论:

如果这在您的控制器中定义

$scope.registerUser = function() {
    ...
}

然后只需在指令中调用它即可

elementToFocus.bind("keydown keypress", function (eventSubmit) {
    if(eventSubmit.which === 13) {
        scope.registerUser();
    }
});

猜测一下,您可以执行类似检查attrs参数的操作,以获取'data-ng-click'的值,然后调用适当的函数:

elementToFocus.bind("keydown keypress", function (eventSubmit) {
    if(eventSubmit.which === 13) {
        if (attrs.dataNgClick == "registerUser()" {
            scope.registerUser();
        }
        else if (attrs.dataNgClick == "sign()" {
            scope.sign();
        }
        else if (attrs.dataNgClick == "frgtPassword()" {
            scope.frgtPassword();
        }
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果输入为空,则禁用提交按钮

来自分类Dev

如果输入为空,则禁用提交按钮

来自分类Dev

输入按钮未提交

来自分类Dev

输入按钮的键

来自分类Dev

输入按钮的键

来自分类Dev

绑定请求映射以提交html中的输入按钮(Springboot)

来自分类Dev

html输入类型按钮输入提交

来自分类Dev

angularjs,在输入字段中输入不提交

来自分类Dev

R闪亮键输入绑定

来自分类Dev

MaterializeCss表单输入(提交)按钮

来自分类Dev

使用按钮提交输入字段

来自分类Dev

提交表格:按钮还是输入?

来自分类Dev

单击提交按钮显示输入

来自分类Dev

使用Vue.js将文件输入绑定到按钮

来自分类Dev

在angularjs中,如果输入有错误,如何在表单提交上设置对输入的关注?

来自分类Dev

绑定到表单上的输入

来自分类Dev

AngularJS-将数组值绑定到输入ngModel

来自分类Dev

AngularJS动态输入值绑定到数组模型

来自分类Dev

AngularJS ng模型未绑定到隐藏输入

来自分类Dev

输入提交输入命中

来自分类Dev

如果单击按钮并输入文本为空 AngularJs,则显示错误

来自分类Dev

如何将输入字段绑定到模式输入字段AngularJS

来自分类Dev

使用AngularJS:将单选按钮输入绑定到具有可能为null值的布尔值

来自分类Dev

如何在登录表单上启用提交按钮和[输入]键提交操作?

来自分类Dev

如何在登录表单上启用提交按钮和[输入]键提交操作?

来自分类Dev

jQuery取消绑定“输入”以提交表单

来自分类Dev

使用Enter键提交输入字段

来自分类Dev

如果单选按钮和文本输入均为空白,则禁用提交按钮

来自分类Dev

Vim如何添加接受输入的键绑定

Related 相关文章

热门标签

归档