2010-12-14 55 views
1

我有一个div区域的网页。在这个领域,可以有两种不同的形式。 它看起来像这样:在一个网页中处理两种形式

表1:

<div id="data" ...> 
    <form action="/action1" method="post"> 
     <label for="label1">ID</label> 
     <input type="text" name="id" id="label1" value="" /> 
     <label for="label2">Name</label> 
     <input type="text" name="name" id="label2" value="" /> 
     <label for="label3">Description</label> 
     <input type="text" name="desc" id="label3" value="" /> 
     <label for="label4">Address</label> 
     <input type="text" name="address" id="label4" value="" /> 
    </form> 
</div> 

表2:

<div id="data" ...> 
    <form action="/action2" method="post"> 
     <label for="label1">ID</label> 
     <input type="text" name="id" id="label1" value="" /> 
     <label for="label2">Firstname</label> 
     <input type="text" name="first" id="label2" value="" /> 
     <label for="label3">Lastname</label> 
     <input type="text" name="last" id="label3" value="" /> 
     <label for="label4">Address</label> 
     <input type="text" name="address" id="label4" value="" /> 
     <label for="label5">eMail</label> 
     <input type="text" name="mail" id="label5" value="" /> 
    </form> 
</div> 

因此有两种不同的形式。这些值将使用jQuery(Ajax调用后端)进行设置。

处理这两种形式的最佳方法是什么?我是否应该只用表单创建两个文件,并在需要时加载表单? (如果someoe点击按钮2 - 事件在客户端进行处理,如果需要点击按钮1,则需要表单1,表单2需要)。 或者我应该将这两个表单放入单个HTML文件并启用或禁用表单?

+1

您也可以使用一种形式并显示/隐藏某些元素,并使用jQuery更改表单动作。如果你坚持两种形式,我第二次杰米回答。 :) – 2010-12-14 09:23:47

回答

2

没有什么能阻止你在HTML中有两种形式,并有条件地隐藏/显示你想要的活动。最好的办法是给每个表单(或其包含div)一个唯一的ID,并使用它来显示/隐藏使用jQuery。

2

我认为你应该保持两个表格在同一页面。并根据要求显示/隐藏所需表格。

因为如果您将表单保存在单独的HTML文件中,并且用户单击任何按钮,那么您必须使XMLHttpRequest才能获取表单的HTML,而通过包含该表单,您可以轻松避免这种额外的HTML请求表单的HTML在同一页中。

我不知道您的网站受众是否如此之大。但保存一个HttpRequest应该是非常有用的。

看到文章Minimize HTTP Requests by Yahoo developers。他们明确建议尽量减少HTTP请求。