В цикле foreach () указан неверный аргумент - PullRequest
0 голосов
/ 15 марта 2011

Привет, Stackoverflow. Надеюсь, у вас все хорошо сегодня.

Я, кажется, столкнулся с проблемой и прошу вашей помощи;

В основном я использую jQuery для манипулирования формой,Затем форма сохраняется в сеансе, и по возвращении на страницу используется цикл foreach для возврата значений из сеанса на страницу.

Проблема в том, что если я создаю несколько экземпляров этого цикла foreach,дает мне неверный аргумент (если я добавляю один и тот же код снова и снова, он работает нормально)

Итак, во-первых, вот код;

jQuery

    $(function(){
$('.add_child').click(function(){
    var attrName = $(this).attr('name');
    var count = $(this).attr('count');
    $(this).attr('count', (parseInt(count)+1))
    var input = $('<input />');
    var lineBreak = $('<br/>');
    input.attr('type','text')
    input.attr('name',attrName+"["+count+"]" ) 
    $('.children_form').append(input);
    $('.children_form').append(lineBreak);
})
$('.add_s_child').click(function(){
    var attrName = $(this).attr('name');
    var count = $(this).attr('count');
    $(this).attr('count', (parseInt(count)+1))
    var input = $('<input />');
    var lineBreak = $('<br/>');
    input.attr('type','text')
    input.attr('name',attrName+"["+count+"]" ) 
    $('.spouce_children').append(input);
    $('.spouce_children').append(lineBreak);
})
});

иКОД PHP / HTML -> Кнопка первая (add_child)

Дети, пожалуйста, назовите своих естественных и / или дописанных детей

<?php foreach($_SESSION['children'] as $index=>$child){ ?>
<?php echo "<input type='text' name='children[{$index}]' value='{$child}'/>";?>
<?php } ?>

<input type="button" count='<?php echo count($_SESSION['children']);?>' name="children" class="add_child" value="Add Another Child"/>

<div class="children_form">
<?php //add the inputs here?>   
</div>

и КОД PHP / HTML -> Кнопка вторая (spouce_children))

<label>Spouces Children, please name all natural and addopted children</label>
<input type="text" name="spoucechild" id="spoucechild" />

<?php foreach($_SESSION['spoucechild'] as $index=>$child){ ?>
<?php echo "<input type='text' name='spoucechild[{$index}]' value='{$child}'/>";?>
<?php } ?>

<input type="button" count='<?php echo count($_SESSION['spoucechild']);?>' name="spoucechild" class="add_s_child" value="Add Another Child"/>
<div class="spouce_children">
    <?php //add the inputs here?>     
</div>

Я хотел бы поблагодарить вас за любую помощь, которую вы можете / окажете <3 </p>

Ошибка здесь:

<?php foreach($_SESSION['spoucechild'] as $index=>$child){ ?>

1 Ответ

1 голос
/ 16 марта 2011

@ Ксавье: Вы можете попробовать -

<?php
if (isset($_SESSION['spoucechild'])) {
    foreach($_SESSION['spoucechild'] as $index=>$child){
        echo '<input type="text" name="spoucechild[' . $index . ']" value="' . $child . '" />' . "\n";
    }
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...