如果这个问题措辞不好,我道歉。我在这里问的原因是因为我不知道如何正确使用谷歌。
基本上,我希望客户端能够指定一个数字(他们可以在文本框中输入数字,或者在下拉框中可能有一系列数字,甚至是单选按钮,我非常灵活这确定了表格将显示多少组问题。
将其置于上下文中以使其更容易理解:
- 表单用于预订门票
- 如果客户在开始时选择“1”,则表示一张票,因此只能看到一组问题
- 如果客户选择2,那么他们想要预订2张门票等等。
如果需要,我正在寻找使用html,css和/或jquery / javascript实现此方法的方法。
非常感谢提前!
答案 0 :(得分:0)
你可以使用sheepit插件 - sheepit for form cloning
通过它。它可以帮助你很多。
答案 1 :(得分:0)
当用户选择座位数时,为每个座位制作一个循环并根据需要重复提问。所有形式相同。
使用php
for ($question = 0 ; $question < $_POST['SeatNumbers'] ; $question ++) { ... }
然后你必须循环通过总问题集,我猜你可能会使用SeatNumber输入,在上面的代码中你将获得$ SeatNumber0,$ SeatNumber1等等。 检查$ SeatNumber是否存在,如果存在则进行处理。
使用JS,我定义了选项的最大数量。当用户更改座位号时,我用css显示/隐藏每个问题&#34;显示:无&#34; /&#34;显示:内联&#34;
答案 2 :(得分:0)
如果您想动态处理html内容,则需要使用Javascript。
您可以从文本字段或用于提供票数的选择器中听到事件。
尝试使用jQuery:
$('your_field_selector')。on('change')或此$('your_field_selector')。on('keyup')
如果事件被触发,您可以使用名为“val()”的jQuery方法获取字段的值:
$( 'your_field_selector')。VAL()
接下来,根据值插入新的html内容。
在这里,还有很多jQuery方法,比如“append()”,“insertBefore()”,“insertAfter()”......等等
答案 3 :(得分:0)
我认为这是你追求的事情。
表单中的部分数量是由滑块上选择的数字生成的,每个动态生成的表单元素具有唯一的ID,具体取决于它的票据,即:票证3的名称ID为name3票证14将具有名称ID为name14,以便通过服务器端邮件功能正确使用每个输入。
这是一个有效的jsfiddle http://jsfiddle.net/fd78gkf3/
请原谅通用表格字段名称:)
<script>function showValue(newValue)
{
document.getElementById("tAmount").value = newValue;
document.getElementById("tAmountDisplay").innerHTML = newValue;
}
</script>
<script>
$(document).on("click", '#select', function() {
var formTimes = document.getElementById("tAmount").value;
$('#forms').append('<form id="ticketForm">');
for(var i = 1; i < formTimes; i++) {
$('#forms').append(i);
$('#forms').append('<div id="formPanel">');
$('#forms').append('<label>Name</label><input id="name' + i +'" type="text"/>'+'<br/>');
$('#forms').append('<label>Age</label><input id="age' + i +'"type="text"/>'+'<br/>');
$('#forms').append('<label>Gender</label><input id="gender' + i +'" type="text"/>'+'<br/>');
$('#forms').append('</div>');
}
$('#forms').append('<input type="button" id="submit" value="Submit"/>'+'</form>')
});
</script>
<span id="tAmountDisplay">0</span> Tickets
<form action="" method="post">
<input type="range" min="1" max="20" value="1" step="1" width="100px" oninput="showValue(this.value)" />
<input type="hidden" id="tAmount" name="tAmount" value=""/>
<input type="button" id="select" value="Select" />
<div id="forms">
</div>
</form>