我正在与 codeigniter 合作。我正在用html制作一个简单的表单,即我仅使用一个输入文本和一个下拉菜单。我也验证了表格(它可以工作)。问题是当表单无效时,我尝试重新填充它。输入的文本可以很好地填充,但下拉列表却不能。
要重新填充,我尝试使用set_value
。它适用于输入文本,但不适用于下拉列表
我的观点index.php
:
<form method="post" action="<?= base_url(); >">
<input type="text" name="name" value="<?= set_value('name'); ?>">
<select name="subject" value="<?= set_value('subject'); ?>">
<option value="math">Math</option>
<option value="science">Science</option>
<option value="social">Social</option>
</select>
<button type="submit">Submit</button>
</form>
我的控制器:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Test extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->library('form_validation');
}
public function index()
{
if ($this->form_validation->run() == false) {
$this->load->view('index');
} else {
echo "Success";
}
}
}
?>
正如我之前提到的,如果表单验证失败,我希望下拉列表的值会重新填充。
我该怎么办?还是我做错了什么?
对不起,英语不好。