2015-05-20 2 views
0

У меня есть форма:Обновление поля формы с AJAX Symfony2

<form action="{{ path('book_create') }}" method="post" {{ form_enctype(form) }}> 
{{ form_start(form) }} 
    {{ form_row(form.bookFoto) }} 
    {{ form_row(form.bookTitle) }} 
    {{ form_row(form.categories) }} 
    <p class="new_category">+ Add category</p> 
    {{ form_row(form.authors) }} 
    <p>+ Add author</p> 
{{ form_end(form) }} 

Когда я нажимаю «Добавить категорию» Я загрузить с AJAX формы для создания новой категории Entity, и сохранить его с помощью AJAX тоже. Но я не понимаю, как я могу обновить тип поля объекта categories без перезагрузки формы.

+0

Что вы хотите достичь? Сохранение объекта Book со всеми категориями с помощью AJAX? Или что? –

+0

Я хочу добавить новую категорию, если мне нужно, и не перезагружать эту форму полностью – Bender21

+0

Но почему вы делаете экономию AJAX для категорий? Если вы создаете категории с помощью ajax, вам необходимо вставить новые идентификаторы категорий в форму. Но стандартный способ проще. –

ответ

0

Чтобы иметь дело со встроенной коллекцией, вам необходимо управлять своей формой с помощью JS. У Symfony есть встроенный помощник. Она называется prototype и используется для заполнения формы с новыми рядами встроенной коллекции:

<ul class="tags" data-prototype="{{ form_widget(form.categories.vars.prototype)|e }}"> 
    ... 
</ul> 

Вы можете прочитать в официальной документации: http://symfony.com/doc/current/cookbook/form/form_collections.html

Смежные вопросы