【发布时间】:2014-04-03 15:18:32
【问题描述】:
当我使用 ng-submit="createNewOrder()" 提交表单时,我会调用一个资源服务来执行一些服务器端验证。但是,服务返回后,表单字段会被清除。在资源服务返回指示成功的响应之前,如何防止 Angular 清除字段?
编辑:添加代码
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: { } }
});
});
【问题讨论】:
-
写代码,我也有表格,什么都没搞清楚,所以可能是代码有错误。
标签: angularjs