【问题标题】:Customizing data prototype symfony3自定义数据原型 symfony3
【发布时间】:2018-03-29 04:01:51
【问题描述】:

我有一个嵌入的表单集合,带有自定义数据原型属性。这是我自定义数据原型的方式

我的主要树枝文件(listingbedroomaddpage.html.twig):

<div class="bedrooms" data-prototype=
        "{% filter escape %}
             {{ include('EpitaHousingBundle:Listing:prototype.html.twig', { 'form': form.bedrooms.vars.prototype }) }}
         {% endfilter %}">
            </div>

我的prototype.html.twig

<div class="row">
    <div class="col-md-2">{{ form_label(form.rentamount, 'Rent') }}</div>
    <div class="col-md-2">{{ form_widget(form.rentamount) }}</div>
    <div class="col-md-1">{{ form_widget(form.rentcurrency) }}</div>
    <div class="col-md-2">{{ form_widget(form.rentduration) }}</div>
    <div class="col-md-3">{{ form_errors(form.rentamount) }}</div>  
    <div class="col-md-1">{{ form_errors(form.rentcurrency) }}</div>
    <div class="col-md-1">{{ form_errors(form.rentduration) }}</div>
</div>

当我第一次渲染表单时,prototype.html.twig 被调用并且嵌入的表单被正确渲染。但是,一旦我提交表单,嵌入式表单的树枝结构和样式就消失了。下面分别是提交前后的截图

我的猜测是prototype.html.twig 在点击提交后没有被调用。我对此比较陌生。谁能帮帮我。

提前致谢。如果您需要更多代码来重现问题,请告诉我。

【问题讨论】:

  • 需要查看更多代码。您能否更新您的帖子以包含整个 listingbedroomaddpage.html.twig 文件。我们将从这个开始,但可能还需要查看您的控制器。
  • @Squeegy 感谢您的回复,但我想通了。无论如何谢谢:)
  • 介意问一下你是怎么想出来的?
  • 您找到了解决方案 pliz 吗?
  • @CrownBackend 看看我的回答

标签: javascript php html forms symfony


【解决方案1】:

我想通了。抱歉有点晚了,但就是这样。 在主树枝中,您需要遍历所有集合(在本例中为 form.bedrooms)并在循环内呈现原型表单。在这段代码下面

<div class="bedrooms" data-prototype=
    "{% filter escape %}
         {{ include('EpitaHousingBundle:Listing:prototype.html.twig', { 'form': form.bedrooms.vars.prototype }) }}
     {% endfilter %}">
        </div>

喜欢这个

    {% for bedroom in form.bedrooms %}
                            <div class="row">
    <div class="col-md-2">{{ form_label(bedroom.rentamount, 'Rent') }}</div>
    <div class="col-md-2">{{ form_widget(bedroom.rentamount) }}</div>
    <div class="col-md-1">{{ form_widget(bedroom.rentcurrency) }}</div>
    <div class="col-md-2">{{ form_widget(bedroom.rentduration) }}</div>
    <div class="col-md-3">{{ form_errors(bedroom.rentamount) }}</div>  
    <div class="col-md-1">{{ form_errors(bedroom.rentcurrency) }}</div>
    <div class="col-md-1">{{ form_errors(bedroom.rentduration) }}</div>
</div>
    {% endfor %}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-19
    • 1970-01-01
    • 2012-05-22
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    相关资源
    最近更新 更多