2010-12-14 58 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請求。