【发布时间】:2015-09-07 17:56:17
【问题描述】:
我不确定如何准确地表达这个问题,但我会尽力而为。 我有一个表格,它从用户那里收集有关就业历史的数据。目前我的表单如下所示:
<form name="EmploymentHistory" action="Form E.php" method="post">
<h2>Employment History</h2>
<label>Last/Current employer</label>
<input type='text' name='LastCurrentemployer'>
<hr> <label>Position</label>
<input type='text' name='Position'>
<hr> <label>Date Started</label>
<input type='text' name='DateStarted'>
<hr> <label>Date Finished</label>
<input type='text' name ='DateFinished'>
<hr> <label>Supervised by</label>
<input type='text' name = 'Supervisedby'>
<hr> <label>Contact Details for Boss</label>
<input type='text' name='ContactDetailsForBoss'>
<hr> <button type='button'>Add another job</button> <br>
<hr> <input type="submit" value="Next">
</form>
我的问题是“添加另一个工作”按钮什么也没做。
如何让用户在其就业历史中输入多个职位,以便将每个职位作为新记录输入到我的数据库中,但只需点击一次提交按钮(下一步)?
我正在考虑尝试设置一个数组,然后使用 arraypush 添加每个条目,例如:
$pastemployers = array ();
arraypush $pastemployers(POST_['LastCurrentemployer']);
然后一个循环将每个记录添加为新记录,例如:
for ($x = 0; $x < count(pastemployers); $x++){
echo "<input name='pastemployers" . $x . "' value='" . $pastemployers[$x] . "'> </input>";
我确信有更好的方法来做到这一点,但我无法在网上找到答案或解决它。我的大多数搜索都返回有关复选框或多个提交按钮的结果(对我没有帮助)。请帮忙
【问题讨论】:
-
点击按钮后,您需要向页面添加所需的控件,并跟踪用户添加了多少次。然后必须由您的服务器端脚本处理。还有一件事,每次点击时,您需要将字段名称从 pastEmployers 更改为 pasteEmployers_1、pasEmployers_2 等等
-
您可以使用javascript,每次用户单击“添加另一个工作”时,当前表单都会通过ajax 发送到您的服务器并生成一个新表单。您应该考虑使用
UPSERTs 将这些作业一个接一个地插入到您的数据库中。这是一个类似的例子(我自己的):http://bvolley.herokuapp.com/
标签: html mysql arrays forms input