I have two forms for which I want to send the data through jQuery Ajax call. I managed to send it successfully for one form but I am not able to send the data from both of them through the same Ajax call.
My forms are:
<form id="filter-group1" method="post" name="filtergroup1">
<input type="checkbox" name="colour1" value="Value1" onclick="filterBy()" /><label>Option 1</label>
<input type="checkbox" name="colour2" value="Value2" onclick="filterBy()" /><label>Option 2</label>
<input type="checkbox" name="colour3" value="Value3" onclick="filterBy()" /><label>Option 3</label>
</form>
<form id="filter-group2" method="post" name="filtergroup2">
<input type="checkbox" name="size1" value="Value1" onclick="filterBy()" /><label>Option 1</label>
<input type="checkbox" name="size2" value="Value2" onclick="filterBy()" /><label>Option 2</label>
<input type="checkbox" name="size3" value="Value3" onclick="filterBy()" /><label>Option 3</label>
</form>
And the function is:
function filterBy() {
var fgroup1 = document.filtergroup1;
var fgroup2 = document.filtergroup2;
var dataString1 = $(fgroup1).serialize();
var dataString2 = $(fgroup2).serialize();
var filterdata = [];
filterdata.push(dataString1,dataString2);
$.ajax( {
type: 'POST',
url: 'filter.php',
data: filterdata,
success: function(data) {
console.log(data);
$('#message').html(data);
}
});
}
I have this in the php file:
echo var_export($_POST);
The function works fine for one form if I replace data: with
data: dataString1,
I am trying to achieve the same result with the data from both forms but I don't want to use a different function for each form.
I appreciate any help. Thank you.