2010-01-11 3 views
1

작성 컨트롤러에 일부 저장된 텍스트가 있습니다. 스트레스가 없다면 오류 메시지 필드 (이미 발생하고있는 것)를 표시하면서 저장된 텍스트가있는 페이지에 텍스트 영역을 채우고 싶습니다. replace_html과 같은 것을 사용했지만 textarea 나 텍스트 필드 ID를 얻고 텍스트 값을 바꾸는 쉬운 방법이 있는지 모르겠습니다. 당장은 자바 스크립트를 몇 개 만들 겠지만 레일 바로 가기를 아는 것이 좋을 것입니다.respond_to format.js를 사용하여 레일에있는 텍스트 영역의 내용을 바꿉니다.

편집 :이 응용 프로그램은 extjs를 사용하고 그것을 이렇게하는 방법을 알아 내려고했기 때문에 나는 올바른 사고 방식이 아니 었습니다. 텍스트 상자는 실제로 페이지가로드 될 때까지 생성되지 않는 ext 상태 표시 줄 (여기서는 http://www.extjs.com/deploy/dev/examples/statusbar/statusbar-demo.html과 같습니다)입니다. 첫 번째 포스터와 같이 명령을 입력하려고하면 "setvalue가 함수가 아닙니다."라는 메시지가 나타납니다. 페이지에서 방화 광구를 가지고 노는 것은 (ext 또는 scriptaculous를 통해 얻는 방법을 사용하여) 로딩 한 후에 값을 설정하도록 할 수 있습니다. .value = "lol"그러나 이것으로 페이지를 업데이트하는 작업은 전혀 없습니다.

답변

1

렌더링 할 페이지 |

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');" 

즐길

+0

덕분에 당신이 당신의 texfield 요소

프로토 타입의 setValue를 호출 할 수 있도록 인라인 JS를 전달하는 "페이지 < <"를 사용할 수 있습니다 덧글은 durr입니다. 내 상황이 좀 더 복잡하기 때문에 나는 편집을했다. –

+0

이것은 내가 찾고 있었던 것입니다! 감사! – GilliMonsta

관련 문제