因为它应该Symfony的形式不获取值

问题描述 投票:0回答:1

我试图建立一个表来发表新的“调查”,每个由“标题”和一组“选项”,选择是独立的实体,并通过理论多对一关联链接到调查的实体。

我使用的是CollectionType允许动态创建表单字段。我然后使用jQuery动态创建这些其他形式。

问题是,一旦我尝试提交表单,它提交只有“调查”的对象,而不是“选项”对象。我知道这是因为在查询后两者的“调查”保存到数据库中,而这些选项都没有。

问题是,当我呈现形式准系统地,没有任何额外的,和我的jQuery代码只是附加了“数据原型”,没有任何改变,它工作正常。调查和选项保存。我知道这是因为我测试过它。

它的工作之后,我决定把形式稍微像样的,我一定是拧东西了。

这里是我的形式呈现的HTML:https://pastebin.com/5UuTXy1F

下面是相关的HTML,这是一个域的外观与它已经被JQuery的创建之后等。

<div class="survey_option">
    <label>1: </label>
    <input type="text" id="survey_options_0_title" name="survey[options][0][title]" required="required" maxlength="500">
    <button type="button" class="remove_option_link">x</button>
</div>

在每个字段写一些东西,在提交后,选项集合为空。

我的问题是的话,为什么不能形式找到“选项”表单提交过程中?是不是因为它出于某种原因无法看到的输入,或者是因为一些它的属性是错误的?难道是因为我的javascript代码是做一些愚蠢的事?

以防万一,这里是一些其他相关的代码:这是用来动态地添加字段的jQuery脚本:https://pastebin.com/KCdVK60q

所述SurveyOption形式类型:https://pastebin.com/uGe4rqCF

调查表格类型:https://pastebin.com/Zs4BEEKY

而负责该表单处理的控制器功能:https://pastebin.com/zrz0uJei

jquery symfony symfony-forms
1个回答
0
投票

我使用的标签,而不是一个标签;我SurveyOptionType是使用TextareaType(一个疏忽,很可能抄错的事)。

最重要的是,该{{ form_start(form) }}嫩枝标签被放置在元件的内部,并且{{ form_end(form) }}是一个不同的元件的内侧。这意味着对于Options的投入甚至没有在表单内。

解决这些问题之后,一切都按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.