【问题标题】:Best way to have multiple "submit" buttons in a form?在表单中有多个“提交”按钮的最佳方式?
【发布时间】:2012-08-30 21:46:22
【问题描述】:

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

此表单将用户数据提交到数据库中,第一次提交后,很少 (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>

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

【问题讨论】:

  • 您是否排除了使用 AJAX 方法来使 UI 变得更好的可能性?
  • 不 - 我会考虑在这里使用 AJAX 方法,我只是不确定如何去做。说实话,我宁愿不这样做 - 但我真的不介意,特别是如果它是为了显着更好的用户界面

标签: php html forms


【解决方案1】:

除非您使用 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

【讨论】:

【解决方案2】:

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

<form>
  <input type='text'/>
  ...
  ...
  <input type='submit' style="display:fixed; top:100px; left:200px;" />
</form>

【讨论】:

    【解决方案3】:

    在您的情况下,我认为您应该为所需的每个提交按钮使用不同的表单,而不是只有 &lt;form&gt;

    【讨论】:

      【解决方案4】:

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

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

      我的程序文件很大,尽管我更喜欢 OOP

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-12
        • 2014-11-10
        • 2012-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-02
        相关资源
        最近更新 更多