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('');
答案 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 = {};
});