背景故事
我在页面上有一个非常长的表单,它有大约20到30个字段。目前,我正在使用Bootstrap框架的tab元素将表单拆分为多个选项卡,以便用户更容易理解整体体验。
这在某种程度上有效,我有一个跨多个标签的表单,最后的标签有一个提交按钮。
问题
当你到达表格的最后,如果你错过了任何你需要知道你错过的东西,问题是,因为你在另一个标签中,你怎么看到另一个中的错误标签?
我尝试了免费提供的Bootstrap Validator的Git Hub存储库,该存储库适用于单页表单,但不适用于选项卡表单。
收集一系列错误并将其显示在相关标签中的最佳方法是,我是否有权强迫用户返回其他标签以更正错误?
或者我咬紧牙关,只有一个包含多个页面并在会话中存储数据的表单?
答案 0 :(得分:0)
如何根据页面更改元素类型?如果你可以重写URL以将它们全部发送到同一个脚本,它可能看起来像下面的例子。
这可能是第一次通过" 自学PHP 书的解决方案将在展示更复杂的内容之前展示。
优点:
缺点:
例:
<?php
$firstName = true === isset($_POST['first_name']) ? $_POST['first_name'] : '';
// If we're on page 1, show. If not, keep the data persistent in the HTML, but hide it.
<?php if ($page === 1) : ?>
<input type="text" name="first_name" value="<?php echo $firstName; ?>" />
<?php else : ?>
<input type="hidden" name="first_name" value="<?php echo $firstName; ?>" />
<?php endif; ?>