您可以將所有值綁定到一個共同的目標。我在提交第一個表單後啓用第二個表單。在第二種形式提交功能中,您只需循環訪問常用對象的值並將其附加到formData
。如果您沒有任何理由擁有兩種形式,則可以將其合併爲一個。
注意:我還沒有添加任何表單驗證。對於添加的表單驗證,請參閱https://codepen.io/sevilayha/pen/xFcdI
HTML:
<form name="form1" ng-submit="enableForm2()">
<input type="text" name="fname" ng-model="obj.fname" />
<input type="text" name="lname" ng-model="obj.lname" />
<input type="submit" value="Next" />
</form>
<form name="form2" ng-show="enableForm" ng-submit="finalSubmit()">
<input type="text" name="address" ng-model="obj.address" />
<input type="text" name="state" ng-model="obj.state" />
<input type="submit" value="Next" />
</form>
JS:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$scope.obj = {};
$scope.enableForm = false;
$scope.enableForm2 = function() {
$scope.enableForm = true;
}
$scope.finalSubmit = function() {
$http({
method: 'POST',
url: YourURL,
withCredentials: true,
headers: {
'Content-Type': undefined
},
data: {},
transformRequest: function(data, headersGetter) {
var formData = new FormData();
angular.forEach($scope.obj, function(value, key) {
formData.append(key, value);
})
return formData;
}
}).then(function(data) {
$scope.enableForm=false;
}).catch(function(data, status) {
})
}
});
是其可能的。您只需捕獲第一個表單的值和提交第二個表單的值,使用formData附加所有您捕獲的值。 – Vivz
嗨Vivz。謝謝。點擊第一個提交按鈕後,我可以驗證第一個表單並滾動到第二個表單,最後我能夠從這兩個表單中捕獲數據並提交它? –
如何從多個表單中捕獲數據? $ scope.modelname? –