2012-10-15 78 views
2

請求幫助,如何將多個動態生成的文本框值存儲到codeigniter中的數組中?

我有一個窗體可以動態生成文本框。對於如:

 on |button| click 
      |textbox 1| 
      |textbox 2| 
      |textbox 3| 
      |textbox 4| 
      . 
      . 
      . 
      |textbox n| 

      |submit| 

當文本框的ID保持自增,而名稱保持不變。 我需要的是當我提交表單時,生成的文本框的值必須存儲在一個數組中,然後將數組存儲在數據庫中。如何使用codeigniter將動態生成的文本框值存儲到單個數組中?我新的codeigniter。

回答

0

查看文件

<?php 
    for($i=1;$i<10;$i++) { ?> 
     <textarea name="texta[<?php echo $i;?>]"></textarea> 
    <?php } ?> 

控制器先得形式

$array_of_textboxes = $this->input->post('texta'); 

那麼你的文本框的值是數組中

你可以有不帶按鍵的數組如果你的html是

<textarea name="texta[]"></textarea> 
+0

實際上在視圖文件中,我通過JavaScript創建文本框。考慮創建3或4個文本框。那麼什麼呢? – Avinash

+0

並不重要,如果你使用jQuery只是'$('。mytextareas')。attr('name','texta ['+ myid +']');' –

+0

抱歉,選擇器當然應該指向到你目前的textarea –

0

你應該增加名稱。然後接收POST的腳本會生成一個看起來像你想要的東西的數組。然後,你可以使用「serialzie($ array)」來創建一個字符串版本的數組。這應該在數據庫中佔據一席之地。然後你可以使用「unserialze($ string)」來恢復你的數組。

0

我會使用ajaxSubmit插件jQuery:Link
它將所有表單元素髮送到窗體的動作url。 $ _POST數組結構是:array(「element_name」=> element_data)。
如果你像你一樣有多個文本框,並且將它們命名爲數組:
<input type='text' name='textbox[]'>插件會將它們發送到帖子內部的數組中。第一個文本框將$_POST['textbox'][0]

相關問題