使用angularjs提交后,输入字段不应清除

时间:2016-11-24 10:14:21

标签: javascript angularjs angularjs-directive

HTML

<form ng-controller="updatecontroller" ng-submit="updateUser()"><label class="control-label">First Name</label>
    <input type="text"  ng-model="user.userFirstName">
    <label class="control-label">Last Name</label>
    <input type="text"  ng-model="user.userLastName" ><button type="submit" ng-click="updateUser()">Update</button>
</form> 

JS

app.controller('updatecontroller', function ($scope, $http, $cookieStore) {

$http.get('http://localhost:8080/myapp/user/'.concat($scope.getUserId) + '?access_token=' + $cookieStore.get("access_token")).
        then(function (response) {
            $scope.user = response.data;
        });$scope.user = {"id": "","userFirstName": "","userLastName": ""}

$scope.updateUser = function () {

    var url = "http://localhost:8080/myapp/user/".concat($scope.getUserId) + "?access_token=" + $cookieStore.get("access_token");
    var method = "PUT";
    $http({
        method: method,
        url: url,
        data: angular.toJson($scope.user),
        headers: {
            'Content-Type': 'application/json'
        }
    })
};});

值将显示在文本字段中。我必须更新。值正在数据库中更新。但我想要的是......提交表格后,更新的值不应该清除。

谢谢!

3 个答案:

答案 0 :(得分:0)

将提交按钮放在表单元素中,然后尝试它将在提交后清除输入。

答案 1 :(得分:0)

您的updateUser()方法似乎是个问题。它可能正在清除user.userFirstName&amp; user.userLastName(或整个user

请告诉我们updateUser()正在做些什么来确保

答案 2 :(得分:0)

You can empty the input filed after get the response from HTTP request

$scope.updateUser = function () {
$http({
    method: 'POST',
    url: 'myUri', 
    data: 'your data'
    headers:'header'
}).then(
    function(res) {
      $scope.user = {"id": "","userFirstName": "","userLastName": ""} //clear the input field here

    },
    function(err) {

    }
);
}
相关问题