【发布时间】:2016-01-03 21:24:53
【问题描述】:
我在使用带有角度 js 登录表单的键盘上的“输入按钮”时遇到问题。我知道之前有人问过这个问题,但我相信我的问题有点不同,因为我尝试了几乎所有关于 stackoverflow 问题的内容。
所以,我只希望能够仅使用键盘上的 Enter 键按 Enter 并提交表单。
这里是登录html:
<!-- BEGIN LOGIN FORM -->
<form ng-submit="loginCtrl.login()" class="login-form">
<h3 class="form-title">Sign In</h3>
<div class="alert alert-danger display-hide">
<button class="close" data-close="alert"></button>
<span>
Enter any username and password. </span>
</div>
<div class="form-group">
<!--ie8, ie9 does not support html5 placeholder, so we just show field title for that-->
<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="Company/username"
ng-model="loginCtrl.username" name="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"
ng-model="loginCtrl.password" name="password"/>
</div>
<div class="form-actions">
<input type="submit" class="btn btn-success uppercase" value="Login">
</div>
</form>
<!-- END LOGIN FORM -->
这是我的登录信息:
self.login = function() {
var result = self.username.split("/");
var account = result[0];
var userId = result[1];
UserService.login(userId, self.password,account).then(function(user) {
self.userAccount = user;
$state.go('home');
}, function(err) {
alert("Authentication failure: Please check your credentials. ")
});
我得到的用户名是“companyName/Username”,所以它就像: 亚马逊/bigboby
【问题讨论】:
-
你能提供一个plunkr吗?
-
html 没有什么不寻常的地方可以阻止它。您确定问题不在于您的提交功能吗?创建一个演示来复制您的问题并提供更好的问题描述
-
你的表单也应该有一个
name用于角度表单指令 -
您的控制台有任何错误吗?
-
尝试将
type属性添加到您的<button>标签:<button type="button" class="close" data-close="alert"></button>。我以前遇到过这样的问题,但我不太记得它的原因。我相信它与Angular如何检测提交按钮在表单上的位置有关。通过不指定您正在愚弄它的类型。我之前的经验是始终在按钮上使用type属性(其他有效类型是“提交”和“重置”)。
标签: javascript angularjs forms enter ng-submit