-2

I have these forms:

var formData = new FormData($('#form')[0]);
var formTRData = new FormData($('#form_tr')[0]);
var formTLData = new FormData($('#form_tl')[0]);
var formBRData = new FormData($('#form_br')[0]);
var formBLData = new FormData($('#form_bl')[0]); 

And I send:

$.ajax({
url: 'aaaaa.php',
type: 'POST',
data: ????

How I can send all forms in data?

Ariel Web
  • 5
  • 5

5 Answers5

0

You pass the data alomng like this data: {name: 'Wayne', age: 27, country: 'Ireland'}, As you can see first comes the identifier of the parameter then a colon and the the actual data.

In your aaaaa,php then you can access the parameters via

    $name = $_POST['name'];
    $age = $_POST['age'];
    $country = $_POST['country'];

This should help

nbk
  • 45,398
  • 8
  • 30
  • 47
0

Create an object containing all of these like this:

var data = {
    "formData": new FormData($('#form')[0]);
    "formTRData": new FormData($('#form_tr')[0]);
    "formTLData": new FormData($('#form_tl')[0]);
    "formBRData": new FormData($('#form_br')[0]);
    "formBLData": new FormData($('#form_bl')[0]);
}

Make sure your server-side is prepared to receive a complex object and parse it correctly.

Andor Baranyi
  • 197
  • 1
  • 8
0

You can combine the objects using $.param():

var postData = $.param(formData) + '&' + $.param(formTRData) + '&' + $.param(formTRData) + '&' + $.param(formTLData) + '&' + $.param(formBRData) + '&' + $.param(formBLData);

$.ajax({
url: 'aaaaa.php',
type: 'POST',
data: postData 
Svela
  • 629
  • 5
  • 7
0

var formData = new FormData($('#form')[0]);
var formTRData = new FormData($('#form_tr')[0]);
var formTLData = new FormData($('#form_tl')[0]);
var formBRData = new FormData($('#form_br')[0]);
var formBLData = new FormData($('#form_bl')[0]); 
  
var formDataEntries = formData.entries();
var formTRDataEntries = formTRData.entries();
var formTLDataEntries = formTLData.entries();
var formBRDataEntries = formBRData.entries();
var formBLDataEntries = formBLData.entries();

var data = [...formDataEntries, ...formTRDataEntries, ...formTLDataEntries, ...formBRDataEntries, ...formBLDataEntries];

You can use spread operator for formData iterator.

Abhishek
  • 382
  • 1
  • 6
0

The solution was:

            var formData = new FormData($('#form')[0]);

        $.each($('#form_tr')[0], function(i, e) {
          formData.append(e.name, e.value);
        });
        $.each($('#form_tl')[0], function(i, e) {
          formData.append(e.name, e.value);
        });
        $.each($('#form_br')[0], function(i, e) {
          formData.append(e.name, e.value);
        });
        $.each($('#form_bl')[0], function(i, e) {
          formData.append(e.name, e.value);
        });
Ariel Web
  • 5
  • 5