Symfony2-使用用户输入动态修改表单
先讲一点背景知识。我过去学习过如何使用“纯”php,最近开始使用Symfony。我一直在遵循几本指南(Cookbook、Lynda和OpenQuestions)进行我的许多询问,但我还没有找到我当前问题的答案 我有两个实体,让我们把它们命名为User和Player。用户实体包含一个播放器属性,该属性可以为null 因此,在用户创建过程中,我希望有3种可能性:将Player字段留空,选择一个已经存在的播放器,或者创建一个新的播放器。起初,我想在播放器下拉列表中添加一个“创建新播放器”选项,但只是选择了一个“创建新播放器”复选框 这个想法是,如果复选框被选中,我想删除播放器下拉列表,并添加一个嵌入式表单来创建一个新的播放器。我尝试了几个事件(PRE_SET_DATA、PRE_SUBMIT&co),但似乎都没有根据用户输入触发Symfony2-使用用户输入动态修改表单,symfony,Symfony,先讲一点背景知识。我过去学习过如何使用“纯”php,最近开始使用Symfony。我一直在遵循几本指南(Cookbook、Lynda和OpenQuestions)进行我的许多询问,但我还没有找到我当前问题的答案 我有两个实体,让我们把它们命名为User和Player。用户实体包含一个播放器属性,该属性可以为null 因此,在用户创建过程中,我希望有3种可能性:将Player字段留空,选择一个已经存在的播放器,或者创建一个新的播放器。起初,我想在播放器下拉列表中添加一个“创建新播放器”选项,但只是选
这是我在JScript中应该做的事情,但是看到Symfony与纯php有多么大的不同,我不知道该怎么做。任何帮助或建议都将不胜感激 通过
PRE\u SET\u DATA
和PRE\u SUBMIT
事件,您已经走上了正确的轨道
您需要使用JavaScript从服务器重新加载表单,并使用Symfony表单事件重新生成表单
这是您要查找的文档:
不幸的是,Symfony的表单组件相当复杂,因此没有简单的代码示例可以在不阅读本文的情况下使用
阅读也有助于加深理解。您使用
PRE\u SET\u DATA
和PRE\u SUBMIT
事件的方法是正确的
您需要使用JavaScript从服务器重新加载表单,并使用Symfony表单事件重新生成表单
这是您要查找的文档:
不幸的是,Symfony的表单组件相当复杂,因此没有简单的代码示例可以在不阅读本文的情况下使用
阅读也有助于加深理解。谢谢您的回答。我记得读过那部分,但我跳过了它,因为我不(现在仍然不)理解订阅PRE_SET_数据和PRE_SUBMIT事件的意义。谢谢你的回答。我记得读过那部分,但我跳过了它,因为我不(现在仍然不)理解订阅PRE_SET_数据和PRE_SUBMIT事件的意义。