我的表单域如下所示
echo form_label('Quantity', 'quantity');
echo form_input('quantity', $quantityx);我对其进行了修改以保留表单值
echo form_label('Quantity', 'quantity');
echo form_input('quantity', $this->input->post('quantity'));我在后面的代码中设置了上面的$quantityx,以便从数据库填充一个值,以便用户可以编辑一行。
如何保留验证值,并同时从数据库中填充变量?
我已经试了很久了
echo form_label('Quantity', 'quantity');
echo form_input('quantity', set_value($quantityx));感谢您的建议
发布于 2017-02-09 03:28:20
输入有3种基本类型。下面是如何重新填充它们的方法。
文本输入
$quantity = getValueFromDb();
echo form_input(
['name' => 'textInput',],
set_value('textInput', $quantity, false)
);使用false作为set_value的第三个参数,以避免双重html转义,这也是由form_input完成的。
下拉列表
$quantity = getValueFromDb();
$quantities = getQuantitiesList();
echo form_dropdown(
[ 'name' => 'formDropdown'],
[''=>'-- Select Quantity --'] + $quantities,
set_value('formDropdown', $quantity, false)
); 单选按钮
$quantity = getValueFromDb();
echo form_radio(
['name'=>'formRadio'],
5,
set_radio('formRadio', 5, $quantity === 5)
), 5;
echo form_radio(
['name'=>'formRadio'],
10,
set_radio('formRadio', 10, $quantity === 10)
), 10;对于无线输入,使用循环替换文字。
复选框
通过用form_checkbox替换form_radio和用set_checkbox替换set_radio,可以用类似的方式创建复选框。
$values = [ 5 => 'Five', 10 => 'Ten', 15 => 'Fifteen',];
$selectedValues = [5, 15];
foreach ($values as $value => $label) {
echo form_checkbox(
['name' => 'formCheckbox[]'],
$value,
set_checkbox(
'formCheckbox[]',
$value,
in_array($value, $selectedValues, true)
)
), $label;
}https://stackoverflow.com/questions/14667959
复制相似问题