Merge values from two forms on submit

前端 未结 9 925
甜味超标
甜味超标 2020-11-29 18:12

I have two forms on one html page. Using jQuery, is it possible to have the data from both forms go into the POST data when the first is submitted?

9条回答
  •  夕颜
    夕颜 (楼主)
    2020-11-29 18:49

    I wrote a function that Merge Two Complexe, cames from different Forms, as:

    // Each Object came from serializeArray()
    var obj = $('form').serializeArray();
    obj = JSON.stringify(obj);
    obj = JSON.parse(obj);
    

    // Example

    obj1 = [
            { name: 'name1', value: 'value1'},
            { name: 'name2', value: 'value2'},
            { name: 'name3', value: 'value3'}
        ];
    
    obj2 = [
            { name: 'name4', value: 'value4'},
            { name: 'name2', value: 'value5'},
            { name: 'name1', value: 'value6'}
        ];
    
    
    function mergeTwoJsonObj( obj1, obj2 ){
    
        var obj3 = [];
        for (var index in obj1) {
            obj = {name: obj1[index].name, value: obj1[index].value};
            obj3.push(obj);
        }
        for (var index in obj2) {
            obj = {name: obj2[index].name, value: obj2[index].value};
            var isExist = false;
            var existAt;
    
            for (var j in obj3) {
                if( obj3[j].name === obj2[index].name){
                    isExist = true;
                    existAt  = j;
                    break;
                }
            }
    
            if(!isExist) {
                obj3.push(obj);
            } else {
                obj3[j].value = obj2[index].value;
            }
    
        }
    
        obj3 = JSON.stringify(obj3);
        obj3 = JSON.parse(obj3)
    
        return obj3;
    
    }
    

    For the example obj1, and obj2 it returns:

    // Example

     obj3 = [
            { name: 'name1', value: 'value6'},
            { name: 'name2', value: 'value5'},
            { name: 'name3', value: 'value3'},
            { name: 'name4', value: 'value4'}
        ];
    

    I wish it helps

提交回复
热议问题