0

我有一个将用于不同操作(插入和更新)的表单。我使用isset功能进行更新。这是完整的代码:

<div id="form_daftar">
    <?php echo form_open($action) ?>
        <?php
            if($action === 'backend/pengurus/add')
                $pengurus['email'] = '';
        ?>
        <p id="input_nama">
            Nama : <?php echo form_input('txt_nama', isset($pengurus['nama'])?$pengurus['nama']:"");?>
        </p>
        <p id="input_email">
            Email : <?php echo form_input('txt_email', 
            isset($pengurus['email'])?$pengurus['email']:"");?>
        </p>
        <p id="input_password">
            Password : <?php echo form_password('txt_pengurus');?>
        </p>
        <p id="input_alamat">
            Alamat : <?php echo form_input('txt_alamat', isset($pengurus['alamat'])?$pengurus['alamat']:"");?>
        </p>
        <p id="input_tanggal_lahir">
            Tanggal Lahir : <input type="text" id="datepicker" name="datepicker"
            value="<?php echo isset($pengurus['tanggal_lahir'])?$pengurus['tanggal_lahir']:""?>"/>  
        </p>

        <?php 
            $action === 'backend/pengurus/add' ? $label = "Daftarkan Pengurus" : $label = "Update Data Pengurus";
            echo form_submit('btn_insert', $label);
        ?>
    <?php echo form_close(); ?>
</div>

但是,我遇到了一个奇怪的错误,因此 isset 无法正常工作。所以,我尝试添加这段代码(上面的片段):

<?php
   if($action === 'backend/pengurus/add')
      $pengurus['email'] = '';
?>

但是,$pengurus['email']虽然它在此代码下方的表单中被识别(查看完整代码),但无法识别。

我应该怎么办?

任何帮助表示赞赏,如果您不理解我的问题,请问我(英语不是我的母语)。感谢:D

4

2 回答 2

3

要在 CI 中设置表单输入的默认值,请使用 set_value(),例如:

<?php echo form_input('txt_nama', set_value('txt_nama', ''));?>
于 2013-05-15T09:29:57.983 回答
1

这样做很简单

当您加载表单以进行插入时,您可以添加一个空数组并将其传递给表单

$pengurus['name'] = '';
$pengurus['email'] = '';
$pengurus['blah'] = '';

$data['pengurus']   =   $pengurus;

$this->load->view('form',$pengurus);

当您加载表格进行更新时,您可以填写这些

$pengurus['name']   =   $row->name;
$pengurus['email']  =   $row->email;
$pengurus['blah']   =   $row->blah;

$data['pengurus']   =   $pengurus;

$this->load->view('form',$pengurus);    

//$row 是使用模型检索的对象

现在在表格中你可以做到这一点

echo form_input('name', set_value('name',$pengurus['name']));

set_value将第二个参数作为默认值。插入的默认值为 '' 而更新的默认值为 some name。当您提交表单并且它失败时,它将检查您在提交之前提供的值,如果未找到,它将显示默认值(对于插入''和更新行->名称)。希望这可以帮助

于 2013-05-15T10:00:48.980 回答