Проблема с автозаполнением концепции в Symfony - PullRequest
0 голосов
/ 31 декабря 2010

Я работаю над приложением Symfony, которое работает в основном с отправкой форм, и наша команда нуждалась в крайнем изменении настроек, поэтому мы решили не использовать помощник по формам и виджеты.Теперь у каждой формы есть метод действия для отправки и поиска.Между одной из этих форм мне нужно автоматическое заполнение, но я не знаю, как мне отправить это новому методу действия в событии keyup и вернуть оттуда данные.Я совершенно не могу вернуть данные оттуда, которые я проверил с помощью Firebug.Я нашел статьи, которые отправляют всю форму для автоматического заполнения поиска.Я не могу этого сделать, потому что мое поле автозаполнения не единственное в форме.Это городское поле, по которому я должен давать советы.Ожидается, что я буду использовать фреймворк jQuery.Пожалуйста, помогите.

Более того, я не очень хорошо понимаю концепцию AJAX в Symfony.Было бы очень полезно, если бы вы связали меня с некоторыми хорошими статьями.

Оцените всю помощь.Большое спасибо.

1 Ответ

3 голосов
/ 31 декабря 2010

Основным отличием ответа в Symfony для запроса ajax является то, что действие не будет украшать представление (actionSucces.php) с помощью Layout (поэтому оно также не будет включать веб-панель отладки).

В вашем случае вы можете использовать плагин jQuery Autocomplete (http://docs.jquery.com/Plugins/autocomplete) для создания формы экстремальной настройки: D

вы можете использовать слот для определения определения вашего объекта jQuery в макете

<head>
    <?php if (has_slot('head_script')): ?>
    <?php    include_slot('head_script') ?>
    <?php endif ?>
 </head>

определите автозаполнение jQuery в шаблоне формы экстремальной настройки

<?php slot('head_script')  ?>
<?php echo javascript_tag('$(function{
$("#example").autocomplete("'.url_for('search/cities').'");
});') ?>

<?php echo form_tag('form/result') ?>
<?php echo tag('input', array('name'=>'example','id'=>'example'));
</form>

не забудьте включить ваши плагины jQuery и Autocomplete, когда пользователь начинает вводить запрос, отправленный на указанный бэкэнд, с параметром GET q, который содержит текущее значение поля ввода и параметр «limit» со значением, указанным для максимальный вариант. (пожалуйста, обратитесь к документу: D)

теперь создайте поиск действий / города и используйте $ request-> getParameter ('q'), чтобы заполнить ответ

public function executeCities(sfWebRequest $request){
  //process the $request->getParameter('q')
  return $this->renderText("First Second Third Fourth");
}

ура и счастливого нового года: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...