按回车提交将无法在Chrome中使用ng-submit运行(但在Firefox中有效)

时间:2014-04-02 08:52:09

标签: html5 forms angularjs submit

我做了一个看似正确的表单布局,但是在输入密码后我输入后不会发生提交。我需要点击按钮进行提交。我的方法基于http://docs.angularjs.org/api/ng/directive/ngSubmit,除了我使用按钮而不是输入。

<form name="loginForm" id="loginForm" ng-submit="login(credentials)"       novalidate="novalidate">
   <input type="password" placeholder="password" id="password" name="password" ng-model="credentials.password" ng-maxlength="40" required="required" form-control="form-control" class="form-control ng-valid-maxlength ng-dirty ng-valid ng-valid-required">
   <button type="submit" id="loginButton" ng-disabled="!loginForm.$valid" class="btn btn-primary btn-lg">Login</button> 
 </form>

更新此行为适用于Firefox,但不适用于Chrome。

2 个答案:

答案 0 :(得分:0)

ng-submit不接受JavaScript,它接受angular expression

因此,您的代码无法正常工作。

IF login是此标记可访问范围的函数,以下内容将起作用:

<form name="loginForm" ng-submit="login(credentials)" novalidate>

如果这不起作用,请检查您的开发者控制台 - 是否有任何错误?您的功能很可能不在您认为的范围内。在问题中提供您的javascript以获得更准确的答案。

评论,如果您仍需要帮助,我会更新。

答案 1 :(得分:0)

我遇到了同样的问题。检查包含表单的元素。我的表单溢出了它包含DOM元素和提交按钮意外地在溢出的部分(包含div的高度小于表单的高度)。当我把它放在里面时,它起作用了。 我仍然不知道是什么原因导致Chrome出现此问题。也许这是Chrome中的角色行为。

编辑:

您也可以尝试通过从表单的父元素中删除任何给定的高度来修复它。