当我的表单提交了ng-submit =“createNewOrder()”时,我调用一个执行服务器端验证的资源服务。但是,服务返回后,表单域将被清除。如何阻止Angular清除字段,直到资源服务返回表示成功的响应?AngularJS - 防止表单清除
编辑:添加代码
HTML:
<div ng-app="OrdersApp" ng-controller="OrdersController" class="ng-scope">
<form name="newOrderForm" ng-submit="createNewOrder();" novalidation>
<label>First Name</label>
<input type="text" ng-model="newOrder.firstName" required>
<label>Last Name</label>
<input type="text" ng-model="newOrder.lastName" required>
etc.
</form>
</div>
应用:
var app = angular.module('OrdersApp', ['orderServices']);
控制器:
app.controller('OrdersController', function ($scope, Order) {
$scope.newOrder = new Order({ });
$scope.createNewOrder = function() {
$scope.newOrder.$create(
function(successData) {
if (successData.error) return alert('order was not saved successfully');
alert('order successfully charged and created');
},
function(errorData) {
alert('order was not saved successfully: ' + JSON.stringify(errorData));
}
);
};
});
服务:
angular.module('orderServices', ['ngResource']).
factory('Order', function ($resource) {
return $resource('/admin/json/orders', {},
{
query: { method: 'GET', params: { }, isArray: true },
create: { method: 'POST', params: { } },
save: { method: 'PUT', params: { } }
});
});
编写代码,我也有一个表单,没有什么清楚的,所以也许这是代码中的错误。 – mautrok
看到这个答案 - http://stackoverflow.com/questions/16153313/saving-new-models-using-angularjs-and-resource/33991999#33991999 – Vivek