编辑表单上的 Codeigniter 表单助手设置输入 class

Codeigniter form helper setting input class on edit form

我正在使用 ion auth 来编辑一些用户 data.This 是代码

<h1><?php echo lang('edit_user_heading');?></h1>
<p><?php echo lang('edit_user_subheading');?></p>

<div id="infoMessage"><?php echo $message;?></div>

<?php echo form_open(uri_string());?>

      <p>
            <?php echo lang('edit_user_fname_label', 'first_name');?> <br />
            <?php 
            $data = array(
              'name'        => 'first_name',
              'value'          => set_value('first_name', $first_name),
              'class'       => 'form-control'
            );
            
            echo form_input($data);?>
      </p>

这会产生输入加上值但没有输入 class

echo form_input($first_name);?>

我的第一个代码片段是尝试添加输入 class 并填充输入字段。这给了我一个转换错误 Message: Array to string conversion

我应该如何在编辑表单字段中添加表单 class?

错误不是来自尝试将 class 添加到您的输入字段,而是来自 set_value(),另一个 CI 辅助函数。变量 $first_name 作为数组发送到视图,因此出现错误消息。

由于我们不知道您需要哪个数组值,您可以尝试使用 set_value('first_name', $first_name[0]) 访问第一个值,但这取决于您的数组(或对象数组)的结构,echo '<pre>';print_r($first_name); die(); 帮你调试。

CI set_value() 定义如 here:

set_value($field[, $default = ''[, $html_escape = TRUE]])

Parameters:

  • $field (string) – Field name
  • $default (string) – Default value
  • $html_escape (bool) – Whether to turn off HTML escaping of the value