Cignitor
Cignitor

Reputation: 1099

Codeigniter can't pass value to controller

i have views here

 <?php echo form_open('c_kategorimaterial/tambah'); ?>
            <table>

                <tr>
                    <td>Kode Kategori Material / Jasa</td> //primary key of table
                    <td><?php $inkode=array('name' => 'kkmj', 'disabled' => 'disabled', 'value' => $nextval, 'class' => 'GUI'); echo form_input($inkode) ?></td>
                    <td class="error"> <?php echo form_error('kkmj'); ?></td>
                     //i make the form_input disabled, because the value is
                     //auto generated from the last ID of table in database
                </tr>
                <tr>
                    <td>Nama Material / Jasa</td>
                    <td><?php $innama=array('name' => 'nmj',  'class' => 'GUI'); echo form_input($innama) ?></td>
                    <td class="error"> <?php echo form_error('nmj'); ?></td>
                </tr>
                <tr>
                    <td></td>
                    <td><?php $intambah=array('name' =>'login','class' =>'button','value' => 'Tambah'); echo form_submit($intambah); echo nbs(); $inreset=array('name' =>'reset','class' =>'button','value' => 'Hapus'); echo form_reset($inreset); ?></td>
                </tr>
             <?php echo form_close(); ?>

and it pass the value to the controller

 function tambah()
{
   $id = $this->input->post('kkmj');
   $nama = $this->input->post('nmj');

    $this->form_validation->set_rules('nmj','Nama','trim|required|min_length[2]|max_length[20]|xss_clean');
    if($this->form_validation->run() == false)
    {
        $lastval = $this->m_admin->getlastval('KKMJ','ms_kategori_material','kode_kategori_material_jasa');
        $data['nextval'] = $this->m_admin->gencode('KKMJ',3,$lastval); 
        $data['title'] = 'QB Tambah Kategori Material';

        $this->load->view('head',$data);
        $this->load->view('content/add_kategori_material',$data);
    }
    else
    {
        echo 'id adalah '.$id.' namanya adalah '.$nama; //$id is not printed

    }


}

and then i fill the second field with 'water' and click the button. my page showing blank white screen with a text id adalah namanya adalah water

how come the ID is not printed ? how do i resolve this ?

Upvotes: 1

Views: 1756

Answers (2)

Vipin Jain
Vipin Jain

Reputation: 1402

Because the field is disabled.

Use readonly attribute.

Upvotes: 2

Zathrus Writer
Zathrus Writer

Reputation: 4331

Disabled elements do not get posted when you submit a form. If you need a field with unchangeable value, try to set it as read-only instead of disabled.

Upvotes: 3

Related Questions