验证失败后,我如何保持以前的选择标签输入?



这是我在这里的第一篇文章,我可能需要一些帮助。

我这里的问题是,我能够获得其他字段来保持用户以前的输入。然而,当涉及到在HTML中使用select标记时,我坚持这样做。

下面是我制作select标签的特定代码。

<label>Brick Type: </label>
<select name='type'>
<?php
$type = ['', "A grade Red/Cream brick $2", "B grade Red/Cream brick $1.50", "Red/Cream clinkers $2.50"];
foreach ($type as $t){
$select = ($t == $type) ? 'selected' : '';
echo "<option value='$t' $select>$t</option>";
}
?>
</select>

下面是该代码的输出…

输出然后,当我试图通过在select标签中添加value="<?=$type??'';?>"来做与我所做的相同的事情时。尽管如此,输出仍然不保留用户之前输入的内容。

<label>Brick Type: </label>
<select name='type' value="<?=$type??'';?>">
<?php
$type = ['', "A grade Red/Cream brick $2", "B grade Red/Cream brick $1.50", "Red/Cream clinkers $2.50"];
foreach ($type as $t){
$select = ($t == $type) ? 'selected' : '';
echo "<option value='$t' $select>$t</option>";
}
?>
</select>

如果有帮助,这里是我的完整代码。我是在NetBeans中这样做的,我还是个初学者,需要同时处理PHP和HTML,呵呵

<form action="index.php" method="post" novalidate="true">
<div class="box"><h1>Brick Order</h1></div>​
<fieldset>
<label>Customer Name:
<span class="error">
<?= $errors['cusName']??'';?>
</span>
</label>
<input type='text' name='cusName' value="<?=$cusName??'';?>"/>
<br>


<label>Mobile:
<span class='error'>
<?= $errors["mobile"]??'';?>
</span>
</label>
<input type='text' name='mobile' maxlength="10" value="<?=$mobile??'';?>"/>
<br>        


<label>Preferred delivery date:</label>
<input type='date' name='delivery' value="<?=$date??'';?>"/>
<br>


<label>Number of Bricks:
<span class='error'>
<?= $errors["num_bricks"]??'';?>
</span>
</label>
<input type='number' name='num_bricks' value="<?=$num_bricks??'';?>"/>
<br>        


<label>Brick Type: </label>
<select name='type' value="<?=$type??'';?>">
<?php
$type = ['', "A grade Red/Cream brick $2", "B grade Red/Cream brick $1.50", "Red/Cream clinkers $2.50"];
foreach ($type as $t){
$select = ($t == $type) ? 'selected' : '';
echo "<option value='$t' $select>$t</option>";
}
?>
</select>
<br>   
</fieldset>
<button type="submit" name="submit">SEND</button>
</form>

顺便提前谢谢你!

将先前的值放在else部分$select = ($t == $type) ? 'selected' : 'your previous value';

最新更新