Ваш код работал по какой-то причине, здесь он значительно упрощен
function ConvertFormToJSON(form) {
var array = $(form).serializeArray();
var json = {};
$.each(array, function() {
json[this.name] = this.value || '';
});
return json;
}
$(document).ready(function() {
var Json_form, Json_form_1, Json_form_2, jsonArray;
$("#formOne").on("submit", function(e) {
e.preventDefault();
Json_form = ConvertFormToJSON(this);
});
$("#formTwo").on("submit", function(e) {
e.preventDefault();
Json_form_1 = ConvertFormToJSON(this);
jsonArray = Object.assign(Json_form, Json_form_1);
console.log(jsonArray);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
</script>
<form id="formOne" method="post">
<input type="text" name="firstname" id="fname"><br>
<input type="text" name="lastname" id="lname"><br>
<button type="submit" value="submit" id="submitOne"> add </button>
<br>
</form>
<form id="formTwo" method="post">
<input type="text" name="phone" id="phone"><br>
<input type="text" name="email" id="email"><br>
<button type="submit" value="submit" id="submitTwo"> add </button>
</form>
Но, возможно, вы хотели это сделать?
var json = {}
function ConvertFormToJSON(form) {
var array = $(form).serializeArray();
$.each(array, function() {
json[this.name] = this.value || '';
});
console.log(json);
}
$(document).ready(function() {
$(".form").on("submit", function(e) {
e.preventDefault();
ConvertFormToJSON(this);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
</script>
<form class="form" id="formOne" method="post">
<input type="text" name="firstname" id="fname"><br>
<input type="text" name="lastname" id="lname"><br>
<button type="submit" value="submit" id="submitOne"> add </button>
<br>
</form>
<form class="form" id="formTwo" method="post">
<input type="text" name="phone" id="phone"><br>
<input type="text" name="email" id="email"><br>
<button type="submit" value="submit" id="submitTwo"> add </button>
</form>