4

假设我有一个简单的表格(但它相当长)。

此表单将用户数据提交到数据库中,第一次提交后,很少 (99.99%) 再次对其进行完整编辑,一次只编辑一个部分。

我不希望用户必须向下滚动到他们需要的部分,然后必须再次滚动相同的距离才能提交它。

<form>

    <div>
        <input type="text" />
    </div>
    <div>
        <input type="text" />
    </div>
    <div>
        <input type="text" />
    </div>
    <div>
        <input type="text" />
    </div>

    <input type="submit" />

</form>

这就是它的“非常”基本结构。做这样的事情会被认为是一种体面的做法

<form>

    <div>
        <input type="text" />
    </div>
    <input type="submit" />
    <div>
        <input type="text" />
    </div>
    <input type="submit" />
    <div>
        <input type="text" />
    </div>
    <input type="submit" />
    <div>
        <input type="text" />
    </div>

    <input type="submit" class="afterFormSubmit"/>

</form>

我不确定是否有“更好”的方法来做到这一点,或者这是否是实现它的更好方法之一?

4

4 回答 4

2

除非您使用 AJAX 执行此操作,否则最好的方法是使用两种形式。您可以使用 ajax 请求在同一个表单中提交两个不同的东西。

或者,如果您想在每个部分上使用带有提交按钮的相同表单,只需一个提交链接,就像这样

<a href="JavaScript:submit_form();">Submit</a>

这样,无论他们在提交的哪个部分都适用于您想要的表单。

另一种选择可能是使用选项卡将其拆分,即http://jqueryui.com/demos/tabs/

您可以在选项卡区域之外提交 1 次。更多信息在这里:http ://www.jankoatwarpspeed.com/post/2009/02/18/How-to-deal-with-large-webforms.aspx

于 2012-08-30T21:52:28.013 回答
2

将您的提交按钮放在不可滚动的视图上。

<form>
  <input type='text'/>
  ...
  ...
  <input type='submit' style="display:fixed; top:100px; left:200px;" />
</form>
于 2012-08-30T21:54:38.573 回答
0

<form>在您的情况下,我认为您应该为您想要的每个提交按钮使用不同的表单,而不是只有一个。

于 2012-08-30T21:48:38.093 回答
0

是的,我曾经为一位只需要带有 Xs 的简单日历的客户做过一次

我在每个日历上都放了一个提交按钮,所有这些都嵌入到 php_self 的 1 个表单中

我的程序文件很大,即使我更喜欢 OOP

于 2012-08-30T22:00:33.357 回答