-1

我有这个必须立即提交的大表格。一个长页面不是一种选择,所以我决定将嵌套列表中的部分分开。这是标记的样子:

<form action="/home/index" data-ajax="false" data-transition="pop" id="xmlForm" method="post">

    <ul data-role="listview" data-inset="true">

       <li>
           Section 1
            <ul data-inset="true">
                <li data-role="fieldcontain">
                    <label for="field1">Field1</label>
                    <input type="text" id="field1" />
                </li>
                <li data-role="fieldcontain">
                    <label for="field2">Field2</label>
                    <input type="text" id="field2" />
                </li>
            </ul>
       </li>

       <li>
           Section 2
            <ul data-inset="true">
                <li data-role="fieldcontain">
                    <label for="field4">Field4</label>
                    <input type="text" id="field4" />
                </li>
                <li data-role="fieldcontain">
                    <label for="field5">Field5</label>
                    <input type="text" id="field5" />
                </li>
            </ul>
       </li>

    </ul>

    <div class="ui-body ui-body-b">
        <fieldset>
            <button type="submit" data-theme="a" name="submit" value="submit-value">Process Script</button>
        </fieldset>
    </div>

</form>

但是,一旦我单击“提交”按钮,提交的唯一值是:

submit:submit-value

表单忽略所有其他字段。是设计使然还是我遗漏了什么?

4

2 回答 2

0

您的输入元素应该具有name属性(即<input type="text" id="field1" name="field1" />)。

于 2012-08-15T05:04:03.537 回答
0

我有同样的问题。如果您查看 DOM,JQuery 会将每个子列表重新排列到自己的页面中。这会导致所有表单字段移出<form></form>标签。这就是为什么它们不包含在提交中的原因。

我添加了“表单”属性:<input type="text" id="field2" form="xmlForm"/>到所有表单字段。现在,当我提交子列表中的所有字段时,都包括在内。

于 2012-08-31T11:06:48.747 回答