0

ここに私のHTMLフォームがあります:

<form class="form-login" name="loginForm" novalidate ng-submit="login()">
    <fieldset>
        <h2>Login</h2>
        <input type="text" required class="input-block-level" placeholder="Username" ng-model="username" name="username" tabindex="1" xs-input-sync>
        <input type="password" required class="input-block-level" placeholder="Password" ng-model="password" name="password" tabindex="2" xs-input-sync>

    </fieldset>
</form>

フォームを送信するときに呼び出されるコントローラーメソッドは次のとおりです。

$scope.login = function() {
        $http.post($scope.serviceUrls.getAuthenticationUrl($scope.username), {
            "password": $scope.password
        }).success(function(data, status, headers) {


        }).error(function(data, status) {

        });
        return false;
    }

この時点まではすべて正常に動作します。ただし、フォームに属性が設定されている場合にのみ、ブラウザーはネイティブの「パスワードを記憶する」ダイアログのみを表示するaction="/"ため、フォームにも追加しました。

フォームを追加した後、action="/"何を試しても、Enter キーまたはログイン ボタンを押すとフォームが送信されます。$eventまた、パラメーターをhtmllogin関数呼び出しに追加しようとしまし$event.preventDefault();たが、それでもうまくいきません。

次のような URL でも同じことが起こります。

<a class="xs-btn edit-btn" ng-click="toggleEditMode($event)"></a>

私は試しました:$event.preventDefault();return false;、追加href=""href="#"。しかし、何の作業も行われず、常にサイトのルートにリダイレクトされます。動作するのは だけですhref="javascript:void(0);"

私が間違っていることについて何か考えはありますか?アプリ全体で何かが間違っているようです。

4

1 に答える 1

0

私が見るように、仕事をするために追加onsubmit="return false"するだけです: http://plnkr.co/edit/a7bUU1VWAZOUYyXQjvF3?p=preview<form>

于 2013-02-18T20:59:27.823 に答える