2012-08-15 53 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