2

I have code that is passed many times, but at a certain condition there is a small difference, but part of it is the same. How can I declare that the code is the same and adds it to the rest of the code? This is my code:

    function sendData() {

    // I want to declare a variable here with all SameParmX here

    if(window.confirmCopmanyName == "A") {
        var data = {
            SameParm1: $("#SameParm1").val(), 
            SameParm2: $("#SameParm2").val(),
            SameParm3: $("#SameParm3").val(),
            SameParm4: $("#SameParm4").val(),
            SameParm5: $("#SameParm5").val(),
            SameParm6: $("#SameParm6").val(),

            DueAmount_1 : $("#DueAmount_1").val(),
            DueDate_1 : $("#DueDate_1").val(),
            PaymentNumber_1 : $("#PaymentNumber_1").val(),
            GFStatus_1 : $("#GFStatus_1").val(),
            BillNumber_1 : $("#BillNumber_1").val(),
            DueAmount_2 : $("#DueAmount_2").val(),
            DueDate_2 : $("#DueDate_2").val(),
            PaymentNumber_2 : $("#PaymentNumber_2").val(),
            GFStatus_2 : $("#GFStatus_2").val(),
            BillNumber_2 : $("#BillNumber_2").val(),
            DueAmount_3 : $("#DueAmount_3").val(),
            DueDate_3 : $("#DueDate_3").val(),
            PaymentNumber_3 : $("#PaymentNumber_3").val(),
            GFStatus_3 : $("#GFStatus_3").val(),
            BillNumber_3 : $("#BillNumber_3").val(),
            DueAmount_4 : $("#DueAmount_4").val(),
            DueDate_4 : $("#DueDate_4").val(),
            PaymentNumber_4 : $("#PaymentNumber_4").val(),
            GFStatus_4 : $("#GFStatus_4").val(),
            BillNumber_4 : $("#BillNumber_4").val()
        };
    } else if (window.confirmCopmanyName == "B") {
        var data = {
            SameParm1: $("#SameParm1").val(),
            SameParm2: $("#SameParm2").val(),
            SameParm3: $("#SameParm3").val(),
            SameParm4: $("#SameParm4").val(),
            SameParm5: $("#SameParm5").val(),
            SameParm6: $("#SameParm6").val(),

            SumStk: "1.40" // Сума стикер
            ODueAmount_1 : $("#ODueAmount_1").val(),
            ODueDate_1 : $("#ODueDate_1").val(),
            OPaymentNumber_1 : $("#OPaymentNumber_1").val(),
            OGFStatus_1 : $("#OGFStatus_1").val(),
            OBillNumber_1 : $("#OBillNumber_1").val(),
            ODueAmount_2 : $("#ODueAmount_2").val(),
            ODueDate_2 : $("#ODueDate_2").val(),
            OPaymentNumber_2 : $("#POaymentNumber_2").val(),
            GFStatus_2 : $("#OGFStatus_2").val(),
            OBillNumber_2 : $("#OBillNumber_2").val(),
            ODueAmount_3 : $("#ODueAmount_3").val(),
            ODueDate_3 : $("#ODueDate_3").val(),
            OPaymentNumber_3 : $("#OPaymentNumber_3").val(),
            OGFStatus_3 : $("#OGFStatus_3").val(),
            OBillNumber_3 : $("#OBillNumber_3").val(),
            ODueAmount_4 : $("#ODueAmount_4").val(),
            ODueDate_4 : $("#ODueDate_4").val(),
            OPaymentNumber_4 : $("#OPaymentNumber_4").val(),
            OGFStatus_4 : $("#OGFStatus_4").val(),
            OBillNumber_4 : $("#OBillNumber_4").val(),
        };
    } else if(window.confirmCopmanyName == "C") {
        var data = {
            SameParm1: $("#SameParm1").val(),
            SameParm2: $("#SameParm2").val(),
            SameParm3: $("#SameParm3").val(),
            SameParm4: $("#SameParm4").val(),
            SameParm5: $("#SameParm5").val(),
            SameParm6: $("#SameParm6").val(),

            DueDate0: $("#padejDate_0").val(),
            DueDate1: $("#padejDate_1").val(),
            DueDate2: $("#padejDate_2").val(),
            DueDate3: $("#padejDate_3").val(),
            DueAmount0: $("#totalInstall_0").val(),
            DueAmount1: $("#totalInstall_1").val(),
            DueAmount2: $("#totalInstall_2").val(),
            DueAmount3: $("#totalInstall_3").val(),
        };
    } else if(window.confirmCopmanyName == "D") {
        var data = {
            SameParm1: $("#SameParm1").val(),
            SameParm2: $("#SameParm2").val(),
            SameParm3: $("#SameParm3").val(),
            SameParm4: $("#SameParm4").val(),
            SameParm5: $("#SameParm5").val(),
            SameParm6: $("#SameParm6").val(),

            DueDate0 : $("#paydate_0").val(),
            DueDate1 : $("#paydate_1").val(),
            DueDate2 : $("#paydate_2").val(),
            DueDate3 : $("#paydate_3").val(),
            DueAmount0 : $("#installments_0").val(),
            DueAmount1 : $("#installments_1").val(),
            DueAmount2 : $("#installments_2").val(),
            DueAmount3 : $("#installments_3").val(),
        };
    }
    data = $.param(data);
    return data;
}

function writeLoc() {
    $.ajax({
        global: false,
        type: 'POST',
        url: 'myurl.php',
        dataType: 'json',
        data: sendData(),
        cache: false,
        timeout: 60000,
        success: function(result) {
            console.log(result);
        },
        error: function (request, status, error) {
            serviceError();
        }
    });
}

Thanks in advance.

1 Answer 1

1

You have to create a first object with the common parameters and then a second with the specific ones, and then merge it:

    function sendData() {

    /* Here you put the common parameters*/
    same_obj={
            SameParm1: $("#SameParm1").val(), 
            SameParm2: $("#SameParm2").val(),
            SameParm3: $("#SameParm3").val(),
            SameParm4: $("#SameParm4").val(),
            SameParm5: $("#SameParm5").val(),
            SameParm6: $("#SameParm6").val()}
    /* then you put the specific ones */
    if(window.confirmCopmanyName == "A") {
        var data = {    DueAmount_1 : $("#DueAmount_1").val(),
            DueDate_1 : $("#DueDate_1").val(),
            PaymentNumber_1 : $("#PaymentNumber_1").val(),
            GFStatus_1 : $("#GFStatus_1").val(),
            BillNumber_1 : $("#BillNumber_1").val(),
            DueAmount_2 : $("#DueAmount_2").val(),
            DueDate_2 : $("#DueDate_2").val(),
            PaymentNumber_2 : $("#PaymentNumber_2").val(),
            GFStatus_2 : $("#GFStatus_2").val(),
            BillNumber_2 : $("#BillNumber_2").val(),
            DueAmount_3 : $("#DueAmount_3").val(),
            DueDate_3 : $("#DueDate_3").val(),
            PaymentNumber_3 : $("#PaymentNumber_3").val(),
            GFStatus_3 : $("#GFStatus_3").val(),
            BillNumber_3 : $("#BillNumber_3").val(),
            DueAmount_4 : $("#DueAmount_4").val(),
            DueDate_4 : $("#DueDate_4").val(),
            PaymentNumber_4 : $("#PaymentNumber_4").val(),
            GFStatus_4 : $("#GFStatus_4").val(),
            BillNumber_4 : $("#BillNumber_4").val()
        };
    } else if (window.confirmCopmanyName == "B") {
        var data = {                SumStk: "1.40" // Сума стикер
            ODueAmount_1 : $("#ODueAmount_1").val(),
            ODueDate_1 : $("#ODueDate_1").val(),
            OPaymentNumber_1 : $("#OPaymentNumber_1").val(),
            OGFStatus_1 : $("#OGFStatus_1").val(),
            OBillNumber_1 : $("#OBillNumber_1").val(),
            ODueAmount_2 : $("#ODueAmount_2").val(),
            ODueDate_2 : $("#ODueDate_2").val(),
            OPaymentNumber_2 : $("#POaymentNumber_2").val(),
            GFStatus_2 : $("#OGFStatus_2").val(),
            OBillNumber_2 : $("#OBillNumber_2").val(),
            ODueAmount_3 : $("#ODueAmount_3").val(),
            ODueDate_3 : $("#ODueDate_3").val(),
            OPaymentNumber_3 : $("#OPaymentNumber_3").val(),
            OGFStatus_3 : $("#OGFStatus_3").val(),
            OBillNumber_3 : $("#OBillNumber_3").val(),
            ODueAmount_4 : $("#ODueAmount_4").val(),
            ODueDate_4 : $("#ODueDate_4").val(),
            OPaymentNumber_4 : $("#OPaymentNumber_4").val(),
            OGFStatus_4 : $("#OGFStatus_4").val(),
            OBillNumber_4 : $("#OBillNumber_4").val(),
        };
    } else if(window.confirmCopmanyName == "C") {
        var data = {DueDate0: $("#padejDate_0").val(),
            DueDate1: $("#padejDate_1").val(),
            DueDate2: $("#padejDate_2").val(),
            DueDate3: $("#padejDate_3").val(),
            DueAmount0: $("#totalInstall_0").val(),
            DueAmount1: $("#totalInstall_1").val(),
            DueAmount2: $("#totalInstall_2").val(),
            DueAmount3: $("#totalInstall_3").val(),
        };
    } else if(window.confirmCopmanyName == "D") {
        var data = {DueDate0 : $("#paydate_0").val(),
            DueDate1 : $("#paydate_1").val(),
            DueDate2 : $("#paydate_2").val(),
            DueDate3 : $("#paydate_3").val(),
            DueAmount0 : $("#installments_0").val(),
            DueAmount1 : $("#installments_1").val(),
            DueAmount2 : $("#installments_2").val(),
            DueAmount3 : $("#installments_3").val(),
        };
    }
    Object.assign(data,same_obj) /* NOW we merge data!*/
    data = $.param(data);
    return data;
}

function writeLoc() {
    $.ajax({
        global: false,
        type: 'POST',
        url: 'myurl.php',
        dataType: 'json',
        data: sendData(),
        cache: false,
        timeout: 60000,
        success: function(result) {
            console.log(result);
        },
        error: function (request, status, error) {
            serviceError();
        }
    });
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.