gpt4 book ai didi

symfony - 集合字段类型不创建表单元素

转载 作者:行者123 更新时间:2023-12-02 00:22:36 25 4
gpt4 key购买 nike

我正在尝试创建一个表单,每次单击“添加新框”链接时都会添加一个新文本框。
我通读了以下示例。
http://symfony.com/doc/current/reference/forms/types/collection.html

基本上我是按照书中的例子来做的。但是当页面被呈现并且我点击链接时什么也没有发生。
有什么想法吗?
谢谢。

这是我的 Controller 。

 public function createAction() {
$formBuilder = $this->createFormBuilder();

$formBuilder->add('emails', 'collection', array(
// each item in the array will be an "email" field
'type' => 'email',
'prototype' => true,
'allow_add' => true,
// these options are passed to each "email" type
'options' => array(
'required' => false,
'attr' => array('class' => 'email-box')
),
));
$form = $formBuilder->getForm();

return $this->render('AcmeRecordBundle:Form:create.html.twig', array(
'form' => $form->createView(),
));
}

这是 View 。
 <form action="..." method="POST" {{ form_enctype(form) }}>
{# store the prototype on the data-prototype attribute #}
<ul id="email-fields-list" data-prototype="{{ form_widget(form.emails.get('prototype')) | e }}">
{% for emailField in form.emails %}
<li>
{{ form_errors(emailField) }}
{{ form_widget(emailField) }}
</li>
{% endfor %}
</ul>

<a href="#" id="add-another-email">Add another email</a>
</form>

<script type="text/javascript">
// keep track of how many email fields have been rendered
var emailCount = '{{ form.emails | length }}';

jQuery(document).ready(function() {
jQuery('#add-another-email').click(function() {
var emailList = jQuery('#email-fields-list');

// grab the prototype template
var newWidget = emailList.attr('data-prototype');
// replace the "$$name$$" used in the id and name of the prototype
// with a number that's unique to our emails
// end name attribute looks like name="contact[emails][2]"
newWidget = newWidget.replace(/\$\$name\$\$/g, emailCount);
emailCount++;

// create a new list element and add it to our list
var newLi = jQuery('<li></li>').html(newWidget);
newLi.appendTo(jQuery('#email-fields-list'));

return false;
});
})
</script>

最佳答案

这个问题可以引用以下链接解决。

https://github.com/beberlei/AcmePizzaBundle

在这里,您会发现正在实现的相同功能。

关于symfony - 集合字段类型不创建表单元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10233807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com