我只是有一个问题。
我有一组同名的文本框。 (name =“quantity []”)
如何在提交后保留表单的值?例如,我有5个具有相同名称的文本框。我填写了其中的4个并提交了表格。我想显示一个字段为空的错误,并保留我在提交表单之前输入的值。
如果文本框名称不同,我可以这样做。但如果他们有相同的,我就无法使其发挥作用。
<input type="text" name="quantity[]" value="<?php if(!empty($_POST['quantity'])) echo $_POST['quantity'];?>">
<input type="text" name="quantity[]" value="<?php if(!empty($_POST['quantity'])) echo $_POST['quantity'];?>">
<input type="text" name="quantity[]" value="<?php if(!empty($_POST['quantity'])) echo $_POST['quantity'];?>">
<input type="text" name="quantity[]" value="<?php if(!empty($_POST['quantity'])) echo $_POST['quantity'];?>">
<input type="submit" name="submit">
感谢您的帮助php人。非常感谢您的帮助。
答案 0 :(得分:2)
如果字段数量不固定,即它变化。你应该像这样使用for循环
<?php
if(!empty($_POST['quantiy'])){
$count =count($_POST['quantity']);
for($i=0; $i<$count; $i++){
?>
<input type="text" name="quantity[]" value="<?php echo $_POST['quantity'][$i];?>">
<?php
}
}
else
{
?>
<input type="text" name="quantity[]" value="">
<input type="text" name="quantity[]" value="">
<input type="text" name="quantity[]" value="">
<input type="text" name="quantity[]" value="">
<?php
}
?>
答案 1 :(得分:2)
您的问题是在提交表单时您丢失了对输入字段的引用。由于所有字段都具有相同的名称,您无法确定,哪一个提供了输入。
你可以做什么:你可以通过弹出$ _POST来填充你的表单字段,如下所示:
<input type="text" name="quantity[]" value="<?php if(!empty($_POST['quantity'])) echo array_pop($_POST['quantity']);?>">
以下是:
注意事项:如果用户使用此代码填写字段1,2和4,则将填充字段1,2和3。