重复的成员表单
duplicate member form
我有一个预订表格,你在下面看到:
<table border=0>
<tr>
<td colspan="2"><h2>Book Now</h2> </td>
</tr>
<tr>
<td width="139"> Select Date (dd/mm/yy):</td>
<td width="351"> <input type="text" id="datepicker"> </td>
</tr>
<tr>
<td>Select Category:</td>
<td> </td>
</tr>
<tr>
<td colspan="2"><select name="orgSelect" class="orgSelect">
<option value="0">----Select CAtegory----</option>
<option value="1">CAtegory 1</option>
<option value="2">CAtegory 2</option>
</select></td>
<tr>
<td>Select Product:</td><td> </td>
</tr>
</tr>
<tr>
</tr>
<tr>
<td colspan="2"><select name="terrSelect" class="terrSelect">
<option value="0" class="static">----Select Product----</option>
<option value="1" class="sub_1">Product1</option>
<option value="2" class="sub_1">Product2</option>
</select>
</td>
</tr>
<tr>
<td> Number of Persons</td>
<td>
<select name="persons" id="persons">
<option>select</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select></td>
</tr>
<tr>
<td><strong>Information:</strong></td>
<td> </td>
</tr>
<tr>
<td>1st Member: </td>
<td> </td>
</tr>
<tr>
<td>First Name:</td>
<td><input type="text" name="date" value=""></td>
</tr>
<tr>
<td>Last Name:</td>
<td><input type="text" name="date" value=""></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="date" value=""></td>
</tr>
<tr>
<td>Phone</td>
<td><input type="text" name="date" value=""></td>
</tr>
<tr>
<td>Mobile Phone</td>
<td><input type="text" name="date" value=""></td>
</tr>
</table>
<p>Add Member</p>
但是我有一个问题,最后它说"添加MEmber"我喜欢复制预订表格,一秒钟我们的第三人也预订,我怎样才能复制预订表格?
有许多方法可以存档。一种简单的方法是将所有数据提交到服务器,在那里重建整个表单。在javascript端这样做可以通过模板来完成(我假设你使用jquery)。
服务器端解决方案(作为最终提交)要求输入名称的格式合理。
例:
data[members][{$memberId}][name]
如果要确定表单是否以最终形式提交,或者只是添加成员,则可以像这样形成提交按钮:
<input type="submit" name="btn[submit]" value="submit booking" />
<input type="submit" name="btn[add]" value="submit booking" />
在 php 端,这可以由以下因素确定:
$btnType = isset($_REQUEST['btn']) && is_array($_REQUEST['btn']) ? array_shift(array_keys($_REQUEST['btn'])) : 'submit';
仍有改进需要应用!
您可以使用多个表体,这将使解决方案非常简单,并且在客户端浏览器中禁用javascript的情况下也可以使用:
<body>
<table border=0 id="table1">
<tbody>
<tr>
<td colspan="2"><h2>Book Now</h2> </td>
...
<select name="persons" id="persons" onchange="change_persons(this.value)">
...
<td><strong>Information:</strong></td>
<td> </td>
</tr>
</tbody>
<tbody>
<tr>
<td>1st Member: </td>
...
<td>Mobile Phone</td>
<td><input type="text" name="mobile1" value=""></td>
</tr>
</tbody>
<tbody>
<tr>
<td>2nd Member: </td>
...
<td>Mobile Phone</td>
<td><input type="text" name="mobile2" value=""></td>
</tr>
</tbody>
<tbody>
<tr>
<td>3rd Member: </td>
...
<td>Mobile Phone</td>
<td><input type="text" name="mobile3" value=""></td>
</tr>
</tbody>
</table>
<script language="javascript">
<!--
function change_persons(show) {
var bodies = document.getElementById('table1').tBodies;
for (var i=1, l=bodies.length; i<l; i++) {
bodies[i].style.display = (i<=show)? 'block':'none';
}
}
change_persons(1); // at startup we show only 1 person
//--></script>
</body>
完整的网页在这里
编辑:只是为了不让你感到困惑,我刚刚意识到我使用了斯塔诺和埃里克的html作为表格布局。
我绝对建议使用jQuery,它会让事情变得容易得多。 您可以使用以下行将其添加到您的页面:
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script>
然后,我将使用"添加成员"选项的按钮:
<button id='addMember'>Add new member</button>
您还应该为您的表格提供 ID
<table id='bigTable' border=0>
在 JS 文件中,您可以使用类似以下内容:
$(document).ready(function() {
var currentMember = 2;
$(function() {
$('#addMember').click(function(event) {
$('<tbody>')
.attr('id', 'subTableMember'+currentMember);
.appendTo('#bigTable');
$('<tr>')
.attr('id', 'tableRowMember'+currentMember);
.appendTo('#subTableMember'+currentMember);
$('<td>')
.html(currentMember+'th member')
.appendTo('#tableRowMember'+currentMember);
$('<td>')
.html('<input type="text" name="mobile'+currentMember+'">');
.appendTo('#tableRowMember'+currentMember);
currentMember++;
});
});
});
我还没有测试代码,但它应该可以帮助您入门。
另一个编辑:如果忘记了服务器部分。 在你的 php 代码上,你现在可以使用这样的东西:
foreach($_POST as $key=>$val) {
if(substr($key, 0, 6) == 'mobile') {
//This is a member mobile, add it to your DB or whatever
echo $key.' => '.$val;
}
}
这样,用户可以添加他想要的所有成员,并且您都可以处理它们。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何使用WCF服务和javascript表单post上传.doc文件
- Javascript生成的表单未提交
- 如何使用javascript或html下载PDF格式的填写表单
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- Ajax发布表单序列化,发布引号'
- 多级HTML表单
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 在验证和发送邮件后更改联系人表单的 html
- jQuery表单添加不适用于下拉列表
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- 如何从pdftron webviewer获取表单数据
- JS验证ajax返回的html中的表单数据
- Javascript更新孙窗口中的表单元素
- 解析javascript表单验证器
- 阻止表单元素提交
- 重复的成员表单
- 将Trello卡成员拉入谷歌表单