3

저는 Rails 프로젝트에서 Prototype을 사용하여 폼의 (Ajax.InPlaceEditor를 통해) 내부 편집을합니다. 그러나 즉시 게시하고 업데이트 할 필요가 없습니다. 양식 자체가 복잡하고 사용자가 변경 사항을 포기하기로 결정할 수 있습니다. 양식은 보이지 않게 (데이터베이스에) 업데이트 되었기 때문에 지금은 할 수 없습니다.레일 : 인플레 이스 에디터가 있지만 포스트 백이 없습니까?

그래서, 내가 생각한 것은 포스트 백 URL을 지정하지 않고 Prototype InPlaceEditor를 사용하여 (또는 실제 반환하는 일반 포스트 백 URL로 지정) 필드의 'onLeaveEditMode'의 일부로 새 값으로 숨겨진 양식 필드.

그런 식으로 사용자가 적절한 모양과 느낌을 얻었지만 하단의 "취소"를 눌러 모든 변경을 취소 할 수 있습니다.

나는이 테스트를 약간의 테스트 프로토 타입으로 시작했으며 작동하는 것처럼 보입니다. 이는 상당한 양의 자바 스크립트 코드를 의미하고, 어떤면에서는 InPlaceEditor 목적을 퇴색시키는 것 같은 느낌입니다. 이것은 해결 된 문제가되어야하지만 내 google-fu는 내가 원하는 것처럼 아무것도 반환하지 않습니다. 질문 http://www.nitobi.com/products/grid/editors/

커플 : 1) 자리에서 편집 필드를하지만 변경 사항을 적용하려면 "저장"을 눌러야합니다 수 있습니다 (분명하지만 그리드 형태)

가지 이런 식으로 뭔가 나에게이 작업을 수행 할 수있는 기존 레일스 플러그인 또는 Prototype 클래스가 있습니까? 2) 그렇지 않다면 제 접근법이 합리적으로 들릴까요?

감사합니다.

답변

3

인라인 편집을 원한다면. 가짜.

  • 양식 필드 테두리 없음 유지. 그러면 정상적인 텍스트처럼 보일 것입니다.
  • 필드 위로 마우스를 가져 가면 배경이 강조 표시됩니다.
  • 초점 표시시 테두리 표시 (클래스 추가 또는 인라인 스타일 변경).
  • 흐리게 테두리를 다시 숨 깁니다.

고스트 숨김 필드가 필요하지 않습니다. 그리고 대부분의 것들은 CSS입니다.

자바 스크립트 코드를 최소화하려면 jquery를 사용하십시오. :-)

+0

부끄러워! CSS에서 텍스트 상자의 글꼴을 변경해야하지만, 충분히 쉬워야합니다 ... –

+0

매우 긴 텍스트에는 적합하지 않지만. 텍스트 필드의 길이를 약간 길게 유지하고 데이터를 입력하는 것이 가장 좋습니다. – nexneo