2015-12-03 6 views
0

Я хочу получить значение полей post в моем представлении, но вся форма также не получила значения, я получаю строку «Array» в моей форме. Вид, когда я нажимаю кнопку «Отправить». ,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] 
); 

И в моем View Я установил "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

Когда я заполняю формы и отправляю их, я хочу, чтобы значение отображалось в представлении, вот почему я устанавливаю " ", но, как вы можете видеть на пиктограмме, я не могу получить значения. – metaphor

+0

Вы писали set_value() // function? –

ответ

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]; // заменить echo $ а; и попробуйте –

+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 входов 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"> 

 Смежные вопросы

  • Нет связанных вопросов^_^