我有一个表单,让用户填写请求信息。在表单的一部分中,我有一个“添加更多电话”按钮,可以动态添加更多文本字段和下拉选项,以便用户可以添加多种类型的电话号码。由于将提交的电话数量未知,我正在尝试弄清楚如何将所有数据发送到服务器,以便将其插入数据库。
这是我的 html:
<div class="form-group">
<label class="col-md-4">Tel:</label>
<div class="col-md-8">
<input class="form-control required" name="phones[]" maxlength="14" type="text" placeholder="(888) 888-8888">
</div>
</div>
<div class="form-group">
<label class="col-md-4">Phone Type:</label>
<div class="col-md-8">
<select class="form-control" name="phonetypes[]">
<option value="0"><b>Choose a phone type</option>
<option value="1">Main</option>
<option value="2">Fax</option>
<option value="3">Mobile/Direct</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-md-4"></label>
<div class="col-md-8">
<input onclick="addRow(this.form);" type="button" value="Add Another Phone" name="addphone" class="btn btn-info"></input>
</div>
</div>
addRow(this.form)
附加一组新字段,您可以在其中输入更多电话号码和电话类型。这是我不确定请求将如何获取字段值的地方,因为我们不知道将添加多少部手机。
我的请求是:
if(isset($_REQUEST['action'])) {
$phones[] = $_REQUEST['phone'];
foreach($_REQUEST['phone'] as $phone) {
$phone['phone'];
}
$phonetypes[] = $_REQUEST['phonetype'];
foreach($_REQUEST['phonetype'] as $phonetype) {
$phone['phonetype'];
}
我绝对不知道从这里到哪里去解决这个问题。任何帮助表示赞赏!
最佳答案
如果不是数组,每个请求参数只能以给定名称发送一次。所以你需要调整你的代码以适应
- 为每种手机类型和手机使用不同的名称
- 或使用名称作为
phonetype[]
将其标记为数组
关于PHP MySQL在$_REQUEST中提交动态字段、数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23352383/