如何在单击按钮时更改以下代码。截至目前,它已配置为提交按钮,按钮不是。
按钮:
<button class="btn btn-primary" ng-click="login()">Log in</button>
JavaScript的:
dpd.users.me(function(user) {
if (user) {
location.href = "/";
}
});
$('form').submit(function() {
var username = $('#username').val();
var password = $('#password').val();
dpd.users.login({username: username, password: password}, function(session, error) {
if (error) {
alert(error.message);
} else {
location.href = "/welcome.html";
}
});
return false;
});
控制器:
$scope.showLogin = function(val) {
$scope.loginVisible = val;
if (val) {
$scope.username = '';
$scope.password = '';
}
};
$scope.login = function() {
dpd.users.login({
username: $scope.username,
password: $scope.password
}, function(session, error) {
if (error) {
alert(error.message);
} else {
$scope.showLogin(false);
getMe();
$scope.$apply();
}
});
};
答案 0 :(得分:3)
为了运行当前存在于&#39; form.submit&#39;中的代码。函数,您需要更改它所绑定的jQuery选择器和事件,或者在表单中包装登录信息,并将您的按钮更改为提交按钮:
<input type="submit" value="Log In" />
如果您不想在表单中包装登录数据,请按以下步骤更改jQuery:
$('form').submit(function() { // this should change to the following
$('button.btn-primary').on('click', function() {
你也可以考虑给你的按钮一个ID:
<button id="login_button" class="btn btn-primary>Log in</button>
然后您可以将ID用作jQuery选择器:
$('#login_button').on('click', function() {
有关&#39; on&#39;的更多信息事件处理程序:https://api.jquery.com/on/
答案 1 :(得分:1)
<form ng-submit="login()"><!-- /* input items */ --></form>
使用ng-submit提交按钮。避免使用jQuery,并在控制器中定义$ scope.login函数