Отсутствуют данные в форме отправки: несколько форм в одной таблице - PullRequest
0 голосов
/ 28 апреля 2011

У меня сложный экран, который использует список вложенных таблиц и несколько форм, соответствующих ajaxSubmit.

Хотя я полагал, что проблемы изначально были вызваны jQuery, мне пришлось выяснить, что моя HTML-структура вызывает проблемы. Моя первоначальная структура была:

<table>
    <tr>
        <form id="foo1" ..>
            <td><input ..></td>
            <td><input ..></td>
        </form>
    </tr>
    <tr>
        <form id="foo2" ..>
            <td><input ..></td>
            <td><input..></td>
        </form>
    </tr>
</table>

Это работает в IE8 и Chrome 11, но не в FF3.6 и 4 соответствующих Safari 5.0.4.

Спасибо всем за помощь и извините за указание в неправильном направлении!

Ответы [ 3 ]

0 голосов
/ 28 апреля 2011

Попробуйте это:

function updateCategory(id) {
    var form = $('#sc' + id);

    form.ajaxSubmit({
        data: form.serialize(),
        type: 'post',
        url: '?action=modCat',
        success: function(response) {
            $('#allCategories').html(content);
        }
    });
}
0 голосов
/ 03 мая 2011

Это поведение поддерживалось в старых спецификациях HTML или, по крайней мере, допускалось.Это изменилось в более поздних реализациях.Следовательно, следует либо:

a) использовать несколько таблиц (по одной на форму)

<form id="foo1">
    <table ..>
    </table>
</form>
<form id="foo2">
    <table ..>
    </table>
</form>

b) использовать DIV вместо таблиц

0 голосов
/ 28 апреля 2011

Я полагаю, что это проблема с ограничениями. Попробуйте:

data: $(this).serialize(),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...