表单上缺少数据提交:一个表中有多个表单

时间:2011-04-27 20:35:15

标签: html webforms

我有一个复杂的屏幕,它使用列出的嵌套表格和几个相应的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 :(得分:0)

我认为这是一个范围问题。尝试:

data: $(this).serialize(),

答案 1 :(得分:0)

试试这个:

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

    form.ajaxSubmit({
        data: form.serialize(),
        type: 'post',
        url: '?action=modCat',
        success: function(response) {
            $('#allCategories').html(content);
        }
    });
}

答案 2 :(得分:0)

旧的HTML规范支持此行为,或者至少可以容忍此行为。这在后面的实现中发生了变化。因此,应该:

a)使用几个表格(每个表格一个)

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

b)使用DIV代替表格