использование response_to format.js для замены содержимого текстовой области на рельсах - PullRequest
1 голос
/ 11 января 2010

У меня есть сохраненный текст в моем контроллере создания. Если это не вызывает стресса, я бы хотел, чтобы текстовая область на странице была заполнена сохраненным текстом, а также отображались поля с сообщениями об ошибках (что и происходит). Ранее я использовал такие вещи, как replace_html, но я не знаю, есть ли простой способ получить текстовые поля или идентификаторы текстовых полей и просто заменить значение текста. Сейчас я просто собираюсь сделать javascript, но было бы неплохо узнать ярлык rails.

edit: я был не в том настроении, потому что это приложение использует extjs и пытался выяснить, как это сделать таким образом. Текстовое поле на самом деле является строкой состояния ext (как здесь: http://www.extjs.com/deploy/dev/examples/statusbar/statusbar-demo.html), которая не создается до тех пор, пока страница не будет загружена. Когда я пытаюсь ввести комнанд, как предложено первым, я получаю «setvalue - это не функция». Играя с firebug на странице, я могу получить его, чтобы установить значение после загрузки, используя (любой метод, чтобы получить его через ext или scriptaculous) .value = "lol", но ни одна из вещей обновления страницы не работает с этим.

1 Ответ

1 голос
/ 11 января 2010

В вашем рендере сделать | страницу | вы можете использовать "page <<" для передачи встроенного js, чтобы вы могли вызвать setValue для вашего элемента texfield </p>

прототип:

page << "$('texfield_id').setValue('lol');"

page << "$('texfield_id').setValue('#{your_value}');"

# if you like to use rails-like helpers (wich I usually do not) this would also work
page[:textfield_id].setValue your_value 

JQuery:

page << "$('#tf_id').val('lol');"

наслаждаться

...