如何在提交后清空角度js中的表单输入

时间:2016-12-26 19:53:25

标签: angularjs forms

Hello Stackoverflow Coders,请问如何在表单提交后在角度Js中清空表单输入。

下面是我的工作代码

$rootScope.sendNow = function () {
                            if ($rootScope.send_login.username.length < 1)
                                alert("Please enter username");
                            else if ($rootScope.send_login.password.length < 1)
                                alert("Please enter password");
                            else {

                                $http.post($rootScope.server_url + "post_Data", $rootScope.send_login)
                                        .success(function (response)
                                        {
                                            // on success
                                            $('#send_login.username').val('');
                                              $('#send_login.password').val('');

                                            toastr.success('Successful');

                                        }

                                        ).error(function (response)
                                {

                                    alert("sending failed");
                                });
                            }
                        };

我的表格如下

<input type="text" id="username" name="username" ng-value="send_login.username">

                            <input type="text" id="pass" name="pass" ng-value="send_login.password">
<input type="button" ng-click="sendNow()" value="Send">

与Ajax不同,我在下面尝试了这个,但无法让它工作

 $('#send_login.username').val('');
  $('#send_login.password').val('');

3 个答案:

答案 0 :(得分:0)

您应该在输入标记中使用ng-model,例如:

HTML:

<input type="text" ng-model="name">
<button ng-click="sendData()"> Send</button>

js(angularjs Controller):

$scope.sendData = function (item) {
    $scope.name = "";
}

答案 1 :(得分:0)

最好将每个表单字段ng-modal作为对象的属性,就像你在“send_login”中一样。 表单提交后重新初始化此对象send_login = {}; 每个领域都将重新初始化。并且未定义的属性不会在角度中创建错误。

您应该在代码中避免使用$ rootScope。

答案 2 :(得分:0)

您需要将ng-value更改为ng-model(将角度变量绑定到html输入),并在ajax成功时清除绑定变量:

$http.post('...').success(function (response) {
    $rootScope.send_login = {};
});