繁体   English   中英

ng提交下拉列表和文本区域

[英]ng-submit on dropdown and textarea

嗨,我有以下代码:

<form ng-submit="ctrl.commitEdit(sign)">
    <input ng-model="sign.Value">
    <input ng-model="sign.Date">
    <textarea ng-model="sign.Comment"></textarea>
    <select ng-model="sign.Property"></select>
    <button type="submit">Save</button>
</form>

使用围绕组件的表单,我尝试以两种方式保存编辑(在表单中,我从控制器调用ng-submit提交一个方法,以保存所做的编辑):

  • 单击我的按钮(类型为“提交”)后,它将在表单的ng-submit中调用该函数。 这正常工作! 节省
  • 然后,我还想通过按键盘上的“输入”来保存。 这就是为什么我将ng-submit表单与提交类型的按钮一起使用的原因。 仅当我更改输入中的某些内容且焦点在那里时,此方法才有效! 当我在文本区域中更改某些内容并按“ enter”(输入)时,它会中断。 当我在下拉菜单中更改某些内容然后按“输入”时,它将再次打开下拉菜单。

因此,我想以各种方式在输入,选择和文本区域上按“输入”来保存。 我怎样才能做到这一点?

谢谢

您需要做的就是使用ngKeyup。

https://docs.angularjs.org/api/ng/directive/ngKeyup

只需将其与输入密钥代码13绑定,然后调用您的函数

此外,这是您可以根据自己的目的实施的指令。

app.directive('ngEnter', function() {
        return function(scope, element, attrs) {
            element.bind("keydown keypress", function(event) {
                if(event.which === 13) {
                        scope.$apply(function(){
                                scope.$eval(attrs.ngEnter);
                        });

                        event.preventDefault();
                }
            });
        };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM