2013-05-15 50 views
0

我有一個將用於不同操作(插入和更新)的表單。我使用isset函數來更新目的。這是完整代碼:php(codeigniter)使用表單助手設置默認值

<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

+1

什麼是錯誤? –

+0

@IgorS。以及我不會告訴你細節,因爲它weeird(很難說)。我的form_input只是有一個默認值(我不知道從哪裏來的價值,我可能不得不在這裏複製整個代碼來解決這個問題)。所以,我想我只需要取消設置$ pengurus的值,如果$動作是插入:D –

回答

3

對於在CI的形式輸入設定的默認值,可以使用SET_VALUE(),如:

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

感謝您的幫助,但我也需要isset更新目的 –

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);  

// $行是形式與模型

檢索現在的對象,你可以做到這一點

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

set_value需要2個參數爲默認值。 插入的默認值爲'',更新爲name。當您提交表格 並且失敗時,它將檢查您在提交 之前提供的值(如果未找到),它將顯示默認值(用於插入「'和 更新行 - >名稱)。希望這可以幫助

+0

感謝您的幫助。我想這在我的控制,但它仍然沒有工作:(\t \t 如果($這個 - > form_validation->的run()=== FALSE) \t \t { \t \t \t $數據[ 'pengurus'] [ '電子郵件'] = ''; \t \t \t $這 - >負載>視圖( '模板/ header_v'); \t \t \t $這 - >負載>視圖( '後端/ pengurus_form_v',$數據); \t \t} –

+0

@BlazeTama什麼是錯誤嘗試把'$ pangurus ['email'] ='test @ gmail.com'' –

+0

Theres沒有錯誤,默認值(我不知道從哪裏來)仍然存在。我試了一下,並沒有改變這個值@@ –