如何通过jquery对象组合两个表单数据
我有两个带有数据的表单,我正在尝试合并这些数据以发送到我的Api。单表单数据正在发送,但我不知道如何合并两个表单中的数据并发送到我的api如何通过jquery对象组合两个表单数据,jquery,ajax,Jquery,Ajax,我有两个带有数据的表单,我正在尝试合并这些数据以发送到我的Api。单表单数据正在发送,但我不知道如何合并两个表单中的数据并发送到我的api $(document).ready(function () { $("#place_order").click(function () { var person2 = new Object(); person2.Title = $('#Title').val(); person2.FirstName =
$(document).ready(function () {
$("#place_order").click(function () {
var person2 = new Object();
person2.Title = $('#Title').val();
person2.FirstName = $('#FirstName').val();
person2.LastName = $('#LastName').val();
debugger;
/* #check1 is form id , for first form , please let me know how two use second form id #check2 */
var person = $('#check1').serialize();
$.ajax({
url: 'http://192.168.1.102:1512/qlikapi/RegisterUser',
type: 'Post',
data: person,
success: function(data, textStatus, xhr) {
alert(data.ErrorMessage);
if (data.Success) {
document.location.reload();
}
},
error: function (xhr, textStatus, errorThrown) {
console.log('Error in Operation');
}
});
});
});
合并两个对象的工作方式如下:
var a = {someProp: "hi"};
var b = {someOtherProp: "sup?"};
var merged = $.extend({}, a, b);
//Merged will be
{ someProp: "hi",
someOtherProp: "'sup?"
}
在成功回调中重新加载页面并不是
$的真正目的。顺便说一下,ajax
调用…合并两个对象的工作原理如下:
var a = {someProp: "hi"};
var b = {someOtherProp: "sup?"};
var merged = $.extend({}, a, b);
//Merged will be
{ someProp: "hi",
someOtherProp: "'sup?"
}
$(document).ready(function () {
$("#place_order").click(function () {
var person2 = new Object();
person2.Title = $('#Title').val();
person2.FirstName = $('#FirstName').val();
person2.LastName = $('#LastName').val();
debugger;
/* #check1 is form id , for first form , please let me know how two use second form id #check2 */
var person = {};
var person1 = {};
$.map($('#check1').serializeArray(), function(n, i){
person[n['name']] = n['value'];
});
$.map($('#check2').serializeArray(), function(n, i){
person1[n['name']] = n['value'];
});
var mergedFormObj = $.extend({},person,person1);
$.ajax({
url: 'http://192.168.1.102:1512/qlikapi/RegisterUser',
type: 'Post',
data: mergedFormObj,
success: function(data, textStatus, xhr) {
alert(data.ErrorMessage);
if (data.Success) {
document.location.reload();
}
},
error: function (xhr, textStatus, errorThrown) {
console.log('Error in Operation');
}
});
});
});
在成功回调中重新加载页面并不是$调用的真正目的
$(document).ready(function () {
$("#place_order").click(function () {
var person2 = new Object();
person2.Title = $('#Title').val();
person2.FirstName = $('#FirstName').val();
person2.LastName = $('#LastName').val();
debugger;
/* #check1 is form id , for first form , please let me know how two use second form id #check2 */
var person = {};
var person1 = {};
$.map($('#check1').serializeArray(), function(n, i){
person[n['name']] = n['value'];
});
$.map($('#check2').serializeArray(), function(n, i){
person1[n['name']] = n['value'];
});
var mergedFormObj = $.extend({},person,person1);
$.ajax({
url: 'http://192.168.1.102:1512/qlikapi/RegisterUser',
type: 'Post',
data: mergedFormObj,
success: function(data, textStatus, xhr) {
alert(data.ErrorMessage);
if (data.Success) {
document.location.reload();
}
},
error: function (xhr, textStatus, errorThrown) {
console.log('Error in Operation');
}
});
});
});
确保两个对象属性都是唯一的
确保两个对象属性都是唯一的。如果您对表单有更具体的要求,请使用
$('#detailsform,#levelForm').serialize();
上面的行将返回一个字符串值。比如customId=08071992&cort=01&empId=7777
通过向输入字段添加属性disabled=“disabled”
,可以避免不需要的字段
如果没有第二个表单,可以使用FormData
创建它
我希望这将对您有所帮助。如果您对表单有更具体的了解,请使用
$('#detailsform,#levelForm').serialize();
上面的行将返回一个字符串值。比如customId=08071992&cort=01&empId=7777
通过向输入字段添加属性disabled=“disabled”
,可以避免不需要的字段
如果没有第二个表单,可以使用FormData
创建它
我希望这将对您有所帮助。ashish请让我知道如何使用此线路。请您将此代码与我的代码集成。please@SanjayYadav请检查我是否根据您的要求进行了更新。兄弟,这很好,很棒,我有一个查询,可以从不同的页面获取表单值。不同的页面,一个表单在index.php上运行,另一个在home.php上运行,我可以在home.php上获取这两个表单的值吗?您的代码运行得很好,ashish请让我知道如何使用这条线请你能把这段代码和我的代码整合起来。please@SanjayYadav请检查我是否根据您的要求进行了更新。兄弟,这很好,很棒,我有一个查询,可以从不同的页面获取表单值。不同的页面,一个表单在index.php上运行,另一个在home.php上运行,我可以在home.php上获取这两个表单的值吗?您的代码运行得很好,