在Cakephp中添加和删除表单字段

kwh*_*let 1 php forms jquery cakephp

我正在寻找一种方法,在cakephp中有一个表单,用户可以在提交之前添加和删除表单字段,在环顾四周并询问蛋糕IRC之后答案似乎是使用Jquery但是经过几个小时的环顾四周我不能弄清楚该怎么做.

我在 - http://www.mail-archive.com/cake-php@googlegroups.com/msg61061.html找到了这个蛋糕的一个例子,但经过我的努力,我无法使这些代码正常工作(我认为它的调用控制器/模型未在示例中列出)

我还找到了一个直接的jquery示例(http://mohdshaiful.wordpress.com/2007/05/31/form-elements-generation-using-jquery/),它做了我想要的表单,但我无法解决如何使用cakephp表单帮助程序使其正常工作并使命名正确.(显然,$ form帮助程序是php,因此在浏览器加载后我无法生成任何内容).

我是一个新蛋糕,从来没有使用过jQuery,我绝对不知道如何做到这一点,所以如果有人有一个cakephp的例子他们有工作或可以指出我正确的方向我需要完成这将是非常多赞赏.

提前致谢

Tra*_*leu 6

我个人会采取直接的jquery路线.我想你可以让PHP生成jquery插入的代码(这样你可以使用表单助手),但它增加了复杂性而没有获得任何东西.

由于表单助手只生成html,请查看您想要生成的html.假设你想要"添加另一个字段",点击它时会在html中添加另一个字段.你要添加的HTML将是这样的:

<input type="text" name="data[User][field][0]" />
Run Code Online (Sandbox Code Playgroud)

现在,要使用jquery插入它,我会做一些事情,比如将函数add_field绑定到链接上的click事件.

    $(document).ready( function() {
      $("#link_id").click( 'add_field' );
      var field_count = 1;
    } );

    function add_field()
    {
      var f = $("#div_addfield");
      f.append( '<input type="text" name="data[User][field][' + field_count + ']" />' );
      field_count++;
    }
Run Code Online (Sandbox Code Playgroud)

当然,如果用户离开此页面没有提交并返回,他们就会失去进度,但我认为这是关于您要完成的基础知识.