我目前正在开展一个项目,但我被困住了。根据客户要求,对现有表单进行了少量修改。
想象一下HTML页面如下:
我正在尝试使用会话。但有没有更好更简单的方法来实现这一目标?我想保留所做的多项选择。
答案 0 :(得分:0)
这一切都可以在客户端完成。基本上,您创建一个包含您想要问的所有问题的表单,然后使用JavaScript来显示额外的问题。如果用户没有单击按钮来打开额外的问题,他们只会保持其空值。如果他们确实打开了额外的问题,将在页面上弹出,用户将填写输入。一旦完成这些问题,您只需隐藏它们,但它们仍然保留用户设置的值。
所以将可选字段放在表单中的隐藏div中,然后在单击按钮时显示该div。
<form ...>
... required inputs
...
...
<a href="#" id="show-optional-inputs">Ask more questions</a>
<div id="optional-inputs" style="display: none;">
<input ... />
<input ... />
<a href="#" id="save-optional-inputs">'Save' optional questions</a>
</div>
<input type="submit" value="submit" />
然后,给#optional-inputs
一些CSS(或者你可以随意设置它的样式):
#optional-input {
left: ...px;
position: absolute;
top: ...px;
width: ...px;
}
对于打开其他问题的按钮/链接,添加一些JavaScript / jQuery以将div打开为绝对定位窗口。
$('#show-optional-inputs').click(function(e) {
$('#optional-inputs').show();
e.preventDefault();
});
这将使你大部分在那里。您需要绑定一个事件来触发可选问题框以保存/关闭 - 这实际上只是隐藏了框并保留了用户在表单中设置的值。