-1

一度に提出しなければならない大きなフォームがあります。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

私も同じ問題を抱えていました。DOMを見ると、JQueryは各サブリストを独自のページに再配置します。これにより、すべてのフォームフィールドが<form></form>タグの外に移動します。これが、送信に含まれない理由です。

'form'属性<input type="text" id="field2" form="xmlForm"/>をすべてのフォームフィールドに追加しました。これで、送信すると、サブリストのすべてのフィールドが含まれます。

于 2012-08-31T11:06:48.747 に答える
0

入力要素にはname属性 (つまり<input type="text" id="field1" name="field1" />) が必要です。

于 2012-08-15T05:04:03.537 に答える