2015-12-03 89 views
0

我想在我的視圖中獲取帖子字段值,但所有表單都沒有獲得值,我在單擊「提交」按鈕時在窗體視圖中獲取「數組」字符串。Codeigniter從數組字段中獲取表單字段值不起作用

enter image description here

我聲明的字段陣列=>控制器

$data6 = array(
    'no_lab'     => $no_lab[$i], 
    'low_sampling'    => $low_sampling[$i], 
    'sampling_point'   => $sampling_point[$i], 
    'sampling_tgr'    => $sampling_tgr[$i], 
    'sampling_clk'    => $sampling_clk[$i], 
    'sampling_analys'   => $sampling_analys[$i], 
    'shift'      => $shift[$i] 
); 

而在我的視圖我已經設置 「SET_VALUE( '陣列[]')」,如此:

<td> 
    <input type="text" name="no_lab[]" id="no_lab" value="<?php echo set_value('no_lab[]'); ?>" required/></td> 
<td> 
    <input type="text" name="low_sampling[]" id="low_sampling" value="<?php echo set_value('low_sampling[]'); ?>"/></td> 
<td> 
    <input type="text" name="sampling_point[]" id="sampling_point" size="17" value="<?php echo set_value('sampling_point[]'); ?>"/></td> 
<td> 
    <input type="text" name="sampling_tgr[]" id="sampling_tgr" value="<?php echo set_value('sampling_tgr[]'); ?>"/></td> 
<td> 
    <div class="input-group clockpicker col-sm-12" data-autoclose="true" data-time-format="HH:mm"> 
    <input type="text" name="sampling_clk[]" id="sampling_clk" value="<?php echo set_value('sampling_clk[]'); ?>" required/> 
     <span class="input-group-addon"> 
     <span class="glyphicon glyphicon-time"></span></span> 
    </div> 
</td> 
<td> 
    <input type="text" name="sampling_analys[]" id="sampling_analys" value="<?php echo set_value('sampling_analys[]'); ?>"/></td> 

參考CI重新填寫表格:https://ellislab.com/codeigniter/user-guide/libraries/form_validation.html

那麼,我做錯了嗎?我是新來的CI。

+0

= 「」。這個值是什麼?.//// set_value('no_lab []')?//你能解釋一下嗎? –

+0

當我填寫表單並提交時,我想獲得在View上顯示的值,這就是爲什麼我設置「 <?php echo set_value('no_lab []');?>「但正如您在圖片中看到的,我無法獲取值。 – metaphor

+0

你寫過set_value()//函數嗎? –

回答

1

你的數組的Print_r返回一個值。所以讓你的$ a = set_value('no_lab []');.因此$ a是數組。我認爲count($ a)返回1,因此我使用echo $ a [0];現在試試代碼

<td> 
<input type="text" name="no_lab[]" id="no_lab" value="<?php $a=set_value('no_lab[]'); echo $a[0]; ?>" required/></td> 
<td> 
<input type="text" name="low_sampling[]" id="low_sampling" value="<?php $a=set_value('low_sampling[]');echo $a[0]; ?>"/></td> 
<td> 
<input type="text" name="sampling_point[]" id="sampling_point" size="17" value="<?php $a= set_value('sampling_point[]');echo $a[0]; ?>"/></td> 
<td> 
<input type="text" name="sampling_tgr[]" id="sampling_tgr" value="<?php $a= set_value('sampling_tgr[]'); echo $a[0]; ?>"/></td> 
<td> 
<div class="input-group clockpicker col-sm-12" data-autoclose="true" data-time-format="HH:mm"> 
<input type="text" name="sampling_clk[]" id="sampling_clk" value="<?php $a= set_value('sampling_clk[]');echo $a[0]; ?>" required/> 
<span class="input-group-addon"> 
<span class="glyphicon glyphicon-time"></span></span> 
</div> 
</td> 
<td> 
<input type="text" name="sampling_analys[]" id="sampling_analys" value="<?php $a=set_value('sampling_analys[]');echo $a[0]; ?>"/></td> 
+0

通過這些代碼我可以得到的值,但我有一個新的錯誤「消息:未初始化的字符串偏移量:0」 – metaphor

+0

echo $ a [0]; //替換回聲美元;並嘗試 –

+0

以及$ a = set_value('no_lab [0]'); echo $ a;再次沒有錯誤,我成功獲得價值觀,非常感謝您的先生。 – metaphor

0

只使用

<?php echo set_value('no_lab','default value'); ?> 

//get the first element of array 
echo '<input name="no_lab" id="no_lab" class="no_lab" value="'.$no_lab[0].'" >'; 
// OR 
echo '<input name="no_lab" id="no_lab" class="no_lab" value="'.$no_lab.'" >'; 

foreach ($no_lab as $nl){ 
    echo '<input name="no_lab['.$nl.']" id="no_lab_'.$nl.'" class="no_lab" value="'.$nl.'" >'; 
} 
+0

「默認值」?你是否指陣列? – metaphor

+0

輸入接受一個不是數組的值,或者創建n個輸入 ,刪除id屬性並使用一個類 – AldoZumaran

0

我使用數組作爲表單字段的名稱時,然後提供它作爲一個數組的set_value功能有類似的問題。我無法用相應的值重新填充每個表單字段。

Vigneswaran建議將set_value函數的結果賦值給一個變量,然後我使用循環的計數器作爲數組鍵來訪問表單域中的每個值。

for($i = 0; $i < 2; $i++) { 
    $a = set_value('ingredients['.$i.']'); 
    echo form_input('ingredients[]', $a, TRUE); 
} 

輸出與示例值屬性:

<input type="text" name="ingredients[] value="form_input_1"> 
<input type="text" name="ingredients[] value="form_input_2"> 
在值