2017-02-22 20 views
3

Я пытаюсь добавить некоторые данные в свою форму прямо перед публикацией, используя функцию beforeSend, но данные не попадают в сообщение. Я предполагаю, что форма становится сериализована до того, как данные будут добавлены, но это всего лишь предположение.Добавление данных в форму прямо перед сообщением ajax

Вот мой JQuery/Ajax:

$.ajax({ 
    type: "POST", 
    url: '@Url.Action("SaveHeaders", "Tally")', 
    //data: { model: @Html.Raw(Json.Encode(@Model)) }, 
    data: $('#myForm').serialize(), 
    beforeSend: function() { 
    var displayIndex = imageIndex+1; 
    $("#images tbody").append("<tr><td class='text-center align-middle'>" + displayIndex + "<input type='hidden' id='SellerGroup_" + imageIndex + "__imageId' class='form-control text-box single-line' name='SellerGroup[" + imageIndex + "].imageId' readonly='readonly' value='" + $('#imageName').val() + "' /><td><input type='text' id='SellerGroup_" + imageIndex + "__majorGroup' class='form-control text-box single-line' name='SellerGroup[" + imageIndex + "].majorGroup' readonly='readonly' value='" + major + "' /></td><td><input type='text' id='SellerGroup_" + imageIndex + "__minorGroup' class='form-control text-box single-line' name='SellerGroup[" + imageIndex + "].minorGroup' readonly='readonly' value='" + minor + "' /></td></tr>"); 
        }, 
        success: function (data) { 
         console.log(data); 
        } 
       }); 

ответ

1

Перед запуске $.ajax(...) код, попробуйте поставить это:

$('#myForm').append('<input type="hidden" name="whateverName" value="whateverValue" />'); 

и только затем запустить код (с помощью метода $('#myForm').serialize()).

+1

ха, вы были правы по существу. Я переместил код в функции beforeSend выше вызова ajax, и теперь он работает так, как ожидалось! большое спасибо! – dmikester1