在表单中有多个“提交”按钮的最佳方法是什么?

时间:2012-08-30 21:46:23

标签: php html forms

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

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

答案 0 :(得分: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

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

是的,我曾经为一个只需要Xs

的简单日历的客户做过一次

我在每个日历上都放了一个提交按钮,所有这些按钮都嵌入了一个php_self

的表单中

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