在Cake中添加一个孩子

时间:2010-03-19 23:39:25

标签: php jquery cakephp

我正在使用蛋糕和蛋糕有一个Web表单,用于输入要进入我的数据库的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 个答案:

答案 0 :(得分:2)

没有尝试过代码,但我会做这样的事情:

<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>

当提交表单时,请为$ _POST ['urls']和$ _POST ['weight']执行foreach。

还有改进的空间,这只是一个鼓舞人心的例子。 希望它有所帮助。

答案 1 :(得分:-1)

实际上我认为没有必要像这样做你的工作。根据你的描述,我认为你可以将<a href="XXX">add another URL</a>更改为任何其他元素,例如按钮,这会在点击时显示隐藏的div那就是你想要的。