我有一个大的HTML表单,我目前将填充的html字段插入到数组中。当我打印出$_POST['rep_list'];
时,它会向我提供表单中填写的键和值。但我需要的是一个包含所有表单字段的数组( 甚至是那些未填写的 )。
任何关于如何实现这个目标的建议/例子?
<form action="insert-data.php" name="workCard" method="POST">
<fieldset>
<legend><h3>Repair</h3></legend>
<table>
<tr>
<th>Description</th>
<th>Front</th>
<th>Back</th>
</tr>
<tr>
<td>tire</td>
<td><input type="checkbox" name="rep_list[tire_front]" value="tire_front" /></td>
<td><input type="checkbox" name="rep_list[tire_back]" value="tire_back" /></td>
<td>alm <input type="checkbox" name="rep_list[tire_reg]" value="tire_reg" /></td>
<td>indl <input type="checkbox" name="rep_list[tire_indl]" value="tire_indl" /></td>
</tr>
<tr>
<td>Tube</td>
<td><input type="checkbox" name="rep_list[tube_front]" value="tube_front" /></td>
<td><input type="checkbox" name="rep_list[tube_back]" value="tube_back" /></td>
</tr>
<tr>
<td>Hub.rep.</td>
<td><input type="checkbox" name="rep_list[hub_front]" value="hub_front" /></td>
<td><input type="checkbox" name="rep_list[hub_back]" value="hub_back" /></td>
<td>just. <input type="checkbox" name="rep_list[hub_adjust]" value="hub_adjust" /></td>
etc…....
答案 0 :(得分:0)
如果您想在没有javascript的情况下执行此操作,则可以为所有复选框创建文本输入。例如:
<td>
<input type="hidden" name="rep_list[tire_front]" value="False" />
<input type="checkbox" name="rep_list[tire_front]" value="True" />
</td>
当您检查PHP中的POST
时,您可以通过检查值来确定是否选中了复选框。当POST
值为True
时,选中了复选框并{{1} 1}}未经检查。
答案 1 :(得分:0)
如果勾选了复选框,则会在HTTP帖子中设置其给定值(如果未设置值,则默认设置为“on”)。如果没有勾选,则不会发送任何值。
要检查PHP中是否勾选了复选框,您只需检查是否设置了POST值:
$tire_front = isset($_POST['rep_list']['tire_front']);
如果您想为每个项目执行此操作,您可以创建一个键数组并循环遍历每个项目:
$fields = array(
'tire_front',
'tire_back',
'tire_reg',
'tire_indl',
'tube_front',
'tube_back',
'hub_front',
'hub_back',
'hub_adjust'
);
foreach ($fields as $field) {
$rep_list[$field] = isset($_POST['rep_list'][$field]);
}
然后, $rep_list
将为每个字段包含一个条目,如果勾选则值为true
,否则为false
。