0

我试图提交一个很长的表单,它通过几个“页面”分发,并且“提交”按钮不发送表单。

<div data-role="page">
    <form action="save_data.php">
    <input type="text">
    <a href="#two">next</a>
</div>
<div data-role="page" id="#two">
    <input type="text">         
    <input type="text">
    <a href="#three">next</a>
</div>
<div data-role="page" id="#three">
    <input type="text">         
    <input type="submit">
</div>

如果我放置<form action="save_data.php">在与提交相同的页面中,它会发送数据,否则不会发生任何事情。

我只能在同一个“页面”中发送表单,即使它实际上都是同一个文件?

谢谢

4

1 回答 1

2

对于除最后一个表单页面之外的所有表单页面,请执行以下操作:

var $lastPageForm = $('.last-page').find('form');
$('.not-last-page').find('form').on('submit', function () {
    $.each($(this).find('input'), function () {
        $lastPageForm.append($(this).clone());
    });
    return false;
});

这将克隆input第一个表单中的每个并将这些克隆附加到最后一个表单。这样,所有表单的所有输入都会与最后一页一起提交。

此代码需要一个布局如下的多页模板:

<div class="not-last-page" data-role="page">
    <form>
        <input type="text">
        <a href="#two">next</a>
    </form>
</div>
<div class="not-last-page" data-role="page" id="two">
    <form>
        <input type="text">
        <a href="#three">next</a>
    </form>
</div>
<div class="last-page" data-role="page" id="three">
    <form action="save_data.php">
        <input type="text">
        <input type="submit" />
    </form>
</div>
于 2012-09-12T19:00:33.790 回答