在Angular JS中简单地调整Javascript for button

时间:2016-04-12 21:51:01

标签: javascript html angularjs

如何在单击按钮时更改以下代码。截至目前,它已配置为提交按钮,按钮不是。

按钮:

<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();
  }
    });
  };

2 个答案:

答案 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函数