хамл а не джаваскрипт? (rails: form_remote_tag и: с параметром) - PullRequest
2 голосов
/ 22 февраля 2010

Я пытаюсь вызвать удаленный метод для обновления содержимого страницы через ajax / js. либо я уже слишком устал, либо haml неправильно анализирует следующий код для отправки значения поля запроса через прототип. есть идеи?

- form_remote_tag(:url => {:controller => "search", :action => "line"},:with => "'query=' + $('query').value" ) do
  %input{:type => 'text', :id => 'query'}
  %input{:type => 'submit', :value => 'Search'}

спасибо большое!

т

Ответы [ 2 ]

1 голос
/ 22 февраля 2010

Попробуйте передать :with как часть хэша опций.

- form_remote_tag({ :url => {:controller => "search", :action => "line"}, :with => "'query=' + $('query').value" }) do

Если это не сработает, отладьте проблему: посмотрите на сгенерированный html. Является ли текстовое поле с идентификатором query единственным элементом на странице с таким идентификатором? Код js правильный? Используйте консоль Firebug, чтобы $('query').value вернул все, что вы ввели в текстовое поле.

Все еще застряли? Добавьте сгенерированный html в свой вопрос, чтобы мы могли лучше помочь.

РЕДАКТИРОВАТЬ: Ваш query входной тег не имеет атрибута name. Без имени вспомогательный код javascript пропускает это поле при сериализации полей формы ... также вам не нужен код :with.

%input{:type => 'text', :id => 'query', :name => 'query'}
1 голос
/ 22 февраля 2010

Вы пробовали

= form_remote_tag

вместо

- form_remote_tag

Я новичок в HAML, но у меня сложилось впечатление, что вам понадобится тег формы, чтобына самом деле генерируется не просто исполняется ...

...