我没有指定表单操作,但它(自动)在某些情况下给出了不同的值

我正在使用Form帮助器创建我的表单,因此表单的操作是自动指定的.... 此表单用于编辑帖子.. 所以,URL的结构为:
mywebsite.com/posts/edit/id
表格的动作应自动生成为
posts/edit/id
但问题是,在某些情况下,我打开HTML代码,我发现表单的动作只有
posts/edit
而没有
id
导致更新失败... 我花了很多时间来弄清楚这种错误行为会带来什么样的情况: 我根据帖子的类别动态生成字段(使用javascript和amp; ajax)。 当其中一个动态生成的字段的值无效时,生成的动作变为
posts/edit
!! 我真的需要帮助,因为我不知道为什么会这样! 而且我不想浪费更多的时间来挖掘cakephp的核心...... 所以,如果任何cakephp专家对此有所了解,请帮助我! 先感谢您 !     
已邀请:
使用url参数,它允许您显式定义表单的URL:
echo $form->create('Post', array('url' => $html->url(array('action'=>'edit', $id))));
    
听起来像
$id
可能没有设定,因为它应该被传递,如果它。您需要确保将其设置为编辑相关记录。确保你的javascript包含隐藏字段,其中包含记录的
id
。 通常这样做,使用表单助手:
echo $this->Form->input('id');
此外,如果其中一个字段无效,则表单实际上不应该正确提交,如果您正在使用cake的验证,那么这是可以预期的。     

要回复问题请先登录注册