我做了一个看似正确的表单布局,但是在输入密码后我输入后不会发生提交。我需要点击按钮进行提交。我的方法基于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。
答案 0 :(得分:0)
ng-submit
不接受JavaScript,它接受angular expression。
因此,您的代码无法正常工作。
IF login
是此标记可访问范围的函数,以下内容将起作用:
<form name="loginForm" ng-submit="login(credentials)" novalidate>
如果这不起作用,请检查您的开发者控制台 - 是否有任何错误?您的功能很可能不在您认为的范围内。在问题中提供您的javascript以获得更准确的答案。
评论,如果您仍需要帮助,我会更新。
答案 1 :(得分:0)
我遇到了同样的问题。检查包含表单的元素。我的表单溢出了它包含DOM元素和提交按钮意外地在溢出的部分(包含div的高度小于表单的高度)。当我把它放在里面时,它起作用了。 我仍然不知道是什么原因导致Chrome出现此问题。也许这是Chrome中的角色行为。
编辑:
您也可以尝试通过从表单的父元素中删除任何给定的高度来修复它。