2012-08-15 54 views
0

我需要編寫一個頁面,該頁面可能需要多個個人信息。客戶將填寫個人信息的多個記錄,然後一次提交。單一格式的多條記錄

我希望頁面一次僅顯示一條記錄的輸入字段。填寫完一條記錄後,客戶可以點擊「下一步」按鈕繼續下一條記錄。

我想寫一個表單與數組輸入和使用javascript來隱藏/顯示每條記錄。但是這個解決方案似乎很亂,尤其是。當記錄數量未知時。 是否可以將每個記錄的輸入字段嵌套到表格單元格並隱藏/顯示此元素?每條記錄中的輸入字段數量非常大。

我不想提交每個記錄,因爲它們可以包含圖像,並且都共享一些常見的隱藏值。

我確定有人有這個問題之前,任何建議一個整潔的解決方案?

非常感謝。

回答

0

考慮到你有HTML這樣

<form> 
<table id="page-1"> 
    <input type="text" name="name"/> 
    <input type="text" name="surname"/> 
</table> 
<table id="page-2"> 
    <input type="text" name="age"/> 
</table> 
<div id="page-3"> 
    <input type="submit" name="submit"/> 
</div> 
</form> 
<input id="next" type="button" value="Next"/> 

這樣你就可以簡單的JavaScript這樣

var actualPage = 0; 
    $("#next").click(function() { 
     $("#page-" + actualPage).hide(); 
     actualPage++; 
     if(!$("#page-" + actualPage).length) { 
      // this was last page 
      $(this).hide(); 
      return false; 
     } 
     $("#page-" + actualPage).show(); 
    }); 

真的有許多方法可以做到這一點,我不知道哪一個取決於做你提供的將最適合你

這種方式javascript不關心你有多少字段和提交表單將按預期工作

0

從可用性的角度來看,這不是一個好主意。用戶忘記了表單的長度,並且無法知道整個步驟以及剩下多少步驟。

但讓我們說這是一個簡短的形式,你給用戶一些當前/總步驟的提示。

喲應顯示整個表單並使用fieldset標記來分隔不同的步驟。
然後使用JavaScript來隱藏所有,但第一個字段集,並提供了「下一步」按鈕
當用戶點擊「下一步」,你應該

  1. 驗證輸入
  2. 隱藏字段集
  3. 顯示下一個
  4. 更新當前/總步的指標

驗證是因爲重要如果有多個無效輸入,您將無法同時顯示所有錯誤。

+0

對不起,我沒有在我的帖子中說清楚。每個步驟的輸入字段都是相同的。我想收集多個人的信息。所以步數是人數。因此,首先客戶將填寫person_1的信息,點擊下一步,填寫person_2的信息等。 – VietChau 2012-08-16 14:49:06

+0

您想爲每個人進行一次遞交還是遞交一次? – 2012-08-17 06:17:57

+0

我想單獨提交一個表單,因此單個表單必須爲所有人提供信息,並且此表單必須分佈到多個頁面,每個頁面一次顯示一個。如果這是有道理的。謝謝 。 – VietChau 2012-08-17 15:22:22