从服务Angularjs中的表单中保存每个范围

时间:2016-06-03 11:23:47

标签: angularjs forms

我想将我的数据从我的表单保存到我的服务函数setData(),但我不知道该怎么做。我已经完成了服务,setData()函数和我的表单。

表格

<form id="eventForm" data-toggle="validator" class="text-left" role="form" name="form.eventForm">
    <div class="form-group col-md-12">
          <input type="text" ng-model="form.return" name="RT" id="return"> Return
          <input type="text" ng-model="form.oneway" name="OW" id="oneway"> One way
    </div>
    <button name="submit" class="btn btn-default ng-click="form.$valid && submit()">Pay now</button>
</form>

AngularJS提交方法

$scope.submit = function() {
    FormData.setData($scope.form);
    $location.path("/flights");
}

服务setData()

this.data = JSON.parse(sessionStorage.getItem("flights") || '{}');

this.setData = function(data) {
    this.data = data;
    sessionStorage.setItem("flights", JSON.stringify(data));
}
this.getData = function() {
    return this.data;
}

我不知道如何将我的整个数据从我的表格传递给setData()函数。

1 个答案:

答案 0 :(得分:0)

尝试更改提交按钮以禁用无效表单,并设置提交操作以发送表单对象。然后,在控制器中,将函数设置为接受参数(表单数据),并使用它。

<强> HTML

<form id="eventForm" data-toggle="validator" class="text-left" role="form" name="form.eventForm">
    <div class="form-group col-md-12">
          <input type="text" ng-model="form.return" name="RT" id="return"> Return
          <input type="text" ng-model="form.oneway" name="OW" id="oneway"> One way
    </div>
    <button name="submit"
        class="btn btn-default
        ng-disabled="form.$invalid"
        ng-click="submit(form)">
        Pay no
    </button>
</form>

<强> JS

$scope.submit = function(submitData) {
    FormData.setData(submitData);
    $location.path("/flights");
}