我有一个表单,需要添加字段/行。 我的代码添加了输入字段,但在提交表单后我无法获取值。
HTML
PdfPCell
如果提交表单,请转储内容。
<form action="#" method="POST">
<div class="col-md-12">
<fieldset class="fieldset-language" data-count="1">
<legend>Legg til kostnader</legend>
<div class="fieldset-content">
<div class="row">
<div class="col-md-5 form-group ">
<label for="">Cost</label>
<select name="verdi[]" class="form-control" >
<?php foreach($kostnader as $Cost) { ?>
<option value="<?php echo $Cost; ?>"><?php echo $Cost;?></option>
<?php } ?>
</select>
</div>
<div class="col-md-5 form-group ">
<label for="">Verdi</label>
<input type="text" class="form-control" id="Totalt" name="kostnad[]" placeholder="Some value">
</div>
<div class="col-md-2 form-group ">
</div>
</div>
</div>
<div class="input_fields_wrap"></div>
<button class="add_field_button btn btn-primary" data-fields="0" name="leggtil">+ Add</button><br><br>
<button type="submit" name="submit" class="btn btn-danger btn-lg">Send</button>
</fieldset>
</div>
jQuery代码,用于添加和克隆输入字段:
$post = array();
for($i=0;$i<count($_POST['kostnad']);$i++){
$post = [
'kostnad' => $_POST['kostnad'][$i],
'verdi' => $_POST['verdi'][$i]
];
}
如果提交了按钮,请运行此var转储: 的var_dump($ _ POST);
问题是我无法获取添加的字段上的数据,仅在第一个条目上,有没有办法获取添加字段的数据?
答案 0 :(得分:1)
如果您在发帖时查看导航器调试器,则所有变量都在那里,因为您使用方括号[]命名它。如此处Multiple inputs with same name through POST in php所述,您的POST值被定义为每个变量名称的数组。因此,您的代码正在运行,但您可能更喜欢使用多维数组来保存数据:
$post = array();
for($i = 0; $i < count($_POST['kostnad']); $i++) {
$post[$_POST['verdi'][$i]] = [
'kostnad' => $_POST['kostnad'][$i],
'verdi' => $_POST['verdi'][$i]
];
}
echo "<pre>";
print_r($post);
echo "</pre>";
在此示例中,每个值都保存在$ post子阵列中,由&#39; verdi&#39;索引。
希望它有所帮助。