MVC2 - Флажки, добавленные в форму через JQuery, не видны в подборке форм при отправке JQuery - PullRequest
0 голосов
/ 11 декабря 2011

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

Таблица в представлении .spark выглядит следующим образом. Затем вызывается скрипт JQuery, использующий getJSON (), чтобы сначала очистить все строки, а затем заполнить tbody, выстроив все строки и столбцы и добавив флажок в первом столбце для каждой строки - каждый флажок называется testitem. ».

<form id='new_test_items' name='new_test_items' method='post' action='${Url.Action("AddTestItems", new { id = Model.TestID })}'>
    <table id='component_list' name='component_list' class='component_list_table striped_table' cellpadding='0' border='0' cellspacing='0'>
        <thead>
            <tr>
                <th>&nbsp;</th>
                <th>Column1</th>
                <th>Column2</th>
                <th>Column3</th>
                <th>Column4</th>
                <th>Column5</th>
                <th>Column6</th>
                <th>Column7</th>
                <th>Column8</th>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>
</form>

Существует также обработчик событий .click для отправки формы:

$('#add_selected').click(function() {

    var $items = $('#component_list input:checkbox:checked');

    // If none checked, alert
    if ($items.length == 0) {
        alert('No items have been selected.');
        return false;
    }
    else {
        $('#new_test_items').submit();
    }
});

Форма отправлена ​​в действие контроллера, и я предположил, что флажки были бы переданы обратно в коллекцию форм.

    public ActionResult AddTestItems(int id, FormCollection coll)
    {
        Dictionary<string, ValueProviderResult> vals = coll.ToValueProvider() as Dictionary<string, ValueProviderResult>;

        // vals is null here
    }

Когда vals создается, он возвращается как ноль. Так что либо подборка форм не содержит данных, либо существует проблема с созданием словаря, о котором я не знаю.

Любая помощь будет принята с благодарностью.

Спасибо!

1 Ответ

2 голосов
/ 11 декабря 2011

Флажки отправляются только как данные HTTP POST, когда они проверены.Вы пытались проверить пару полей, а затем посмотреть, появляются ли они в коллекции форм?

...