Добавление ребенка в торт - PullRequest
1 голос
/ 20 марта 2010

Я использую торт и у меня есть веб-форма для ввода URL, чтобы перейти в мою базу данных. Там будет одно поле ввода (url1), а под ним - ссылка «добавить еще один URL», которая при нажатии генерирует новую форму (url2) и использует «добавить еще один URL». Так было бы как:

echo $form->input('name');
echo $form->input('id');
echo $form->input('url1');
echo $form->input('weight1');
echo '<a href="XXX">add another URL</a>';

и затем, если щелкнуть XXX, это будет выглядеть так:

echo $form->input('name');
echo $form->input('id');
echo $form->input('url1');
echo $form->input('weight1');
echo $form->input('url2');
echo $form->input('weight2');
echo '<a href="XXX">add another URL</a>';

Есть ли скрипт jquery, который я могу использовать для этого, или в торт встроено что-то?

Ответы [ 2 ]

2 голосов
/ 20 марта 2010

Не пробовал код, но я бы сделал что-то вроде этого:

<form>
    <div id="mainData">
        echo $form->input('name');
        echo $form->input('id');
    </div>
    <div id="urlsHolder">
        <div class="url">
            echo $form->input('urls[]');
            echo $form->input('weights[]');
        </div>
    </div>
    <a href="#" id="addUrl">add another URL</a>
</form>

<script type="text/javascript">
    $(document).ready(function() {
        $('#addUrl').click(function( event ){
            event.preventDefault();         
            $('div.url').filter(':first').clone().appendTo('#urlsHolder');          
        });
    });
</script>

Когда форма отправлена, выполните foreach для $ _POST ['urls'] и $ _POST ['weights'].

Есть возможности для совершенствования, это просто вдохновляющий пример. Надеюсь, это поможет.

0 голосов
/ 23 марта 2010

На самом деле, я думаю, что делать эту работу не нужно. Согласно вашему описанию, я думаю, что вы можете изменить <a href="XXX">add another URL</a> на любой другой элемент, например кнопку, которая сделает скрытый div видимым при нажатии. это будет то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...