即使我没有点击提交按钮,我的表单也会保存数据。但如果我正在刷新我的表单,那么很好

时间:2016-11-08 06:31:57

标签: javascript angularjs forms

这是我的表格

<form name="userForm" data-ng-submit="updateUserProfile(userForm.$valid)" class="signin form-horizontal" validate-form="" autocomplete="off">
    <fieldset>
        <div class="form-group">
            <label for="firstName">First Name</label>
            <input type="text" id="firstName" required name="firstName" maxlength="25" class="form-control" data-ng-model="user.firstName" placeholder="First Name">
        </div>
        <div class="form-group">
            <label for="lastName">Last Name</label>
            <input type="text" id="lastName" required name="lastName" maxlength="25" class="form-control" data-ng-model="user.lastName" placeholder="Last Name">
        </div>
        <div class="form-group">
            <label for="email">Email</label>
            <input type="email" id="email" required name="email" maxlength="150" class="form-control" data-ng-model="user.email" placeholder="Email">
        </div>
        <div class="form-group">
            <label for="username">Username</label>
            <input type="text" id="username" required name="username" maxlength="25" class="form-control" data-ng-model="user.username" placeholder="Username">
        </div>
        <div class="text-center form-group mt">
            <button type="submit" class="btn btn-large btn-primary">Save Profile</button>
        </div>
        <div data-ng-show="success" class="text-center text-success">
            <strong>Profile Saved Successfully</strong>
        </div>
        <div data-ng-show="error" class="text-center text-danger">
            <strong data-ng-bind="error"></strong>
        </div>
    </fieldset>
</form>

现在当我点击我的ui编辑个人资料并假设编辑我的名字但没有提交它并导航到应用程序的其他部分时。但当我回来编辑个人资料时,它显示的是编辑版本。不是原来的

这是我的控制器功能。

$scope.updateUserProfile = function(isValid) {          
    if (isValid) {
        $scope.success = $scope.error = null;
        var user = new Users($scope.user);

        user.$update(function(response) {
            $scope.success = true;
            Authentication.user = response;
        }, function(response) {
            $scope.error = response.data.message;
        });
    } else {
        $scope.submitted = false;
    }
};

请尽快帮助我,我必须完成它

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为房产尚未实例化。 只要此特定页面像这样加载

,您就可以在控制器内的java脚本中设置值
user.firstName="";
user.lastName=""
user.email=""
user.username=""