按 Enter 键时 AngularJS 表单未提交

2024-02-12

我试图在用户按 Enter 键时提交登录表单。 单击“登录”按钮时,该表单工作得很好,但按 Enter 不起作用,而且会导致奇怪的行为:

  • 关联的函数ng-submit没有被执行
  • 按 Enter 后不再显示错误消息(登录失败)

这是我的标记:

<form ng-submit="login()" class="login-form">
    <div class="alert alert-danger" ng-class="{ 'display-hide': !showError }">
        <button class="close" data-close="alert"></button>
            <span> Login failed </span>
    </div>
    <div class="form-group">
        <label class="control-label visible-ie8 visible-ie9">Username</label>
        <input class="form-control form-control-solid placeholder-no-fix" type="text" autocomplete="off" placeholder="Username" name="username" ng-model="username"/>
    </div>
    <div class="form-group">
        <label class="control-label visible-ie8 visible-ie9">Password</label>
        <input class="form-control form-control-solid placeholder-no-fix" type="password" autocomplete="off" placeholder="Password" name="password" ng-model="password"/>
    </div>
    <div class="form-actions">
        <button class="btn btn-success uppercase">Login</button>
    </div>
</form>

请注意,我尝试替换<button...> with <input type="submit"...>也没有成功。

具有 login() 函数的相应控制器如下所示:

.controller('LoginCtrl', ['$rootScope', '$scope', ..., function LoginController ($rootScope, $scope, ...) {
    $scope.showError = false;

    $scope.login = function()
    {
        console.log("logging in");
        $http({
            url: $scope.apiEndpointLogin,
            method: 'POST',
            data: {'username': this.username, 'password': this.password}
        }).then(function(response) {
            $scope.showError = false;

            [...]
        }, function() {
            $scope.showError = true;
        });

    };
}]);

我运行 Angular v1.4.0 并使用 Angular-ui-router v.0.2.15 进行路由。

感谢您的任何意见,非常感谢。


放这个

 <input type="submit" class="btn btn-success uppercase" value="Login" > 

代替

 <button class="btn btn-success uppercase">Login</button>

对于表单提交按钮应该是提交类型。

编辑代码:

<form   class="login-form"  ng-submit="login()" >
    <div class="alert alert-danger" ng-class="{ 'display-hide': !showError }">
        <button class="close" data-close="alert"></button>
            <span> Login failed </span>
    </div>
    <div class="form-group">
        <label class="control-label visible-ie8 visible-ie9">Username</label>
        <input class="form-control form-control-solid placeholder-no-fix" type="text" autocomplete="off" placeholder="Username" name="username" ng-model="username"/>
    </div>
    <div class="form-group">
        <label class="control-label visible-ie8 visible-ie9">Password</label>
        <input class="form-control form-control-solid placeholder-no-fix" type="password" autocomplete="off" placeholder="Password" name="password" ng-model="password"/>
    </div>
    <div class="form-actions">
        <input  type="submit" class="btn btn-success uppercase"  >
    </div>

</form>

另请检查您是否登录控件位于表单 DOM 之上。

编辑代码:

请检查这个Plunker http://plnkr.co/edit/NdYMqjSO8bMgLR6cIuvV?p=preview

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按 Enter 键时 AngularJS 表单未提交 的相关文章

随机推荐

  • Tomcat JDBC 连接池:testOnBorrow 与 testWhileIdle

    由于各种原因 池中的连接可能会变得无效 服务器连接超时 网络问题 我的理解是 Tomcat JDBC 连接池不对其向应用程序提供的连接的有效性提供任何保证 为了防止 实际上只是降低风险 从池中获取无效连接 解决方案似乎是配置连接验证 验证连
  • 编写对空格敏感的解析器规则,同时从词法分析器中跳过 WS

    我在处理空白时遇到一些麻烦 在以下语法摘录中 我设置了词法分析器 以便解析器跳过空格 ENTITY VAR user resource INT DIGIT DIGIT ID LETTER LETTER DIGIT SPECIAL ENTIT
  • 引用的定义相互矛盾

    我正在学习 C 中的引用 特别是 我了解到引用不是实际对象 相反 它们引用了其他一些对象 也就是说 引用只是其他对象的别名 然后我遇到了this https isocpp org wiki faq references overview r
  • 如何让iOS UIWebView正确显示手机网站?

    我是 iOS 应用程序开发新手 我刚刚尝试使用UIWeb视图在我的应用程序中显示移动网站 但不太成功 我所做的只是我在一些谷歌搜索过程中发现的一些最小的 Xcode 项目配置和编码 使用以下命令在 Xcode 中创建一个新的 iOS 应用程
  • Chrome 扩展程序登录最佳实践

    我正在创建一个 Chrome 扩展程序弹出窗口并需要登录 现在 我将使用用户名和密码进行自己的身份验证 但扩展中的最佳实践是什么 这是我的想法 我将使用帖子登录远程服务器 取回一个令牌 我会将其保留在本地存储中一段时间 弹出窗口中还应该有一
  • 如何将 MVC3 Hello World 应用程序部署到本地主机并配置 IIS

    我在将 MVC3 应用程序部署到本地主机时遇到一些问题 我正在寻找构建 ASP MVC 3 应用程序并将其部署到本地系统的详细信息 我尝试过部署这个 但遇到了一个又一个问题 我不想单独跟踪每个问题 无论如何我可能都必须这样做 我想为自己和看
  • 在 Mongodb 中搜索和替换?

    给定一组 100 个帖子 每个帖子都有一个包含帖子内容的 body 属性 并且该内容内有图像 url 例如 http example com wp content uploads 5 jpg http example com wp cont
  • 具有 async/await 风格函数的 async.queue

    我正在尝试创建一个函数 该函数从对象数组构建队列 然后通过调用多个函数来处理每个对象 处理函数是异步函数 在需要排队之前 我使用异步 等待模式实现了这些函数 我认为这是必要的 因为每个都依赖于前一个的输出 并且我不想有大量嵌套的 Promi
  • Ansible:如果有多个“extra_vars”文件,变量顺序/优先级是什么?

    在这个关于 Can extra vars接收多个文件 https stackoverflow com questions 31800060 原发帖者回答了这个问题 说多个 vars 文件可以通过使用多个来完成 extra vars参数 我的
  • 在 PowerShell 中创建新的 System.Collections.Generic.Dictionary 对象失败

    PowerShell 版本 5 x 6 我正在尝试创建一个新对象System Collections Generic Dictionary 但失败了 我尝试了以下 版本 gt dictionary new object System Col
  • Java 中的 Files.move() 给出 FilesSystemException 错误,因为文件夹“正在被另一个进程使用”,但事实并非如此

    我想将单个文件移动到另一个文件夹 但我不能 因为 它正在被另一个进程使用 这是我的代码 static File myFile new File C filepath static File myFolder new File C folde
  • UserPrincipal.FindByIdentity (System.DirectoryServices.AccountManagement) 中的 .NET 4.5 错误

    在 NET 4 5 下测试 NET 4 0 应用程序时 我们遇到了一个问题FindByIdentity方法用于UserPrincipal 以下代码在 NET 4 0 运行时中运行时有效 但在 NET 4 5 中运行时失败 Test publ
  • 如何处理多个代表

    我的应用程序中有一个几乎可以完成所有操作的视图 我喜欢这样 然而问题是它实现了 5 或 6 个不同的委托 这看起来有点混乱 我的问题是 视图控制器是否必须实现所有委托 或者有什么方法可以将代码分离到不同的文件中 无需进行重大重组或重写 这是
  • Service Worker skipWaiting 无法激活当前等待的软件

    描述 我们使用 sw precache 来预先缓存脚本 因此为了更新脚本 我们提供了重新加载选项 为此 我们正在监听工作人员消息 以跳过等待新安装的服务工作人员 原因未知 我们没有得到正确的结果 导入脚本 GETTING OLD SW re
  • 在 Powershell 中获取 ADFS 令牌

    我们有一个 ADFS 2 0 环境 用于将我们的 Active Directory 域与 Office 365 联合 最近 我们遇到了一个问题 集群停止响应 这反过来又破坏了所有用户的电子邮件 日历访问 由于我们目前没有对 ADFS 进行任
  • Odoo15 - ModuleNotFoundError:没有名为“PyPDF2”的模块

    我是 Odoo 的新手 我使用 pyenv 来托管 odoo 和所有依赖项 全部在 odoo 系统用户下 我能够启动 odoo 服务 systemctl status odoo 15 odoo 15 service Odoo15 Loade
  • 使用 PDO 的 mysql_num_rows 替代方案

    现在我有一个 PHP 文件 它执行 MYSQL 查询 然后计算行数 如下所示 count mysql num rows result if count 1 message array status gt ok else message ar
  • 列表理解:为每个项目返回两个(或更多)项目[重复]

    这个问题在这里已经有答案了 是否可以为列表理解中的每个项目返回 2 个 或更多 项目 我想要什么 示例 f x g x for x in range n 应该返回 f 0 g 0 f 1 g 1 f n 1 g n 1 因此 可以用一些东西
  • C++中的私有拷贝构造函数有什么用

    人们为什么要定义私有复制构造函数 什么时候将复制构造函数和赋值运算符设为私有是一个好的设计 如果类中没有作为唯一对象 如文件名 的指针或句柄的成员 那么在其他情况下 私有复制构造函数是个好主意吗 同样的问题也适用于赋值运算符 鉴于大多数 C
  • 按 Enter 键时 AngularJS 表单未提交

    我试图在用户按 Enter 键时提交登录表单 单击 登录 按钮时 该表单工作得很好 但按 Enter 不起作用 而且会导致奇怪的行为 关联的函数ng submit没有被执行 按 Enter 后不再显示错误消息 登录失败 这是我的标记