2012-08-30 43 views
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> 

我不知道如果有一个“好”的方式来做到这一点,或者如果这是更好的方式来得到它完成的吗?

+0

你是否使用AJAX方法排除了这个更好的UI? –

+0

不 - 我会考虑在这里获得一个AJAX方法,我只是不知道该怎么去做。 真相被告知,我宁愿不 - 但我真的不介意,尤其是如果它是一个更好的UI – Xhynk

回答

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

关于处理大型表单的信息http://www.alistapart.com/articles/sensibleforms –

0

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

2

把你的提交按钮放在一个不可滚动的视图上。

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

是的,我做了一次,一个客户端谁需要只是一个简单的日历两个X

我已经把每个日历一个提交按钮,所有这些被嵌入到1种形式PHP_SELF

我是一个大的程序文件,尽管我更喜欢OOP

相关问题