php(codeigniter)使用表单助手设置默认值

时间:2013-05-15 09:25:24

标签: php forms codeigniter

我有一个表单,可用于不同的操作(插入和更新)。我使用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

2 个答案:

答案 0 :(得分:3)

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

<?php echo form_input('txt_nama', set_value('txt_nama', ''));?>

答案 1 :(得分: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将第二个参数作为默认值。 。的默认值 插入是'',更新是name。提交表格时 如果失败,它将在提交之前检查您提供的价值 如果没有找到它将显示默认值(插入''和for 更新行 - >名称)。希望这有帮助