2012-02-28 2 views
0

나는 이것을 봤고 SO와 Programmers.stackexchange를 통해 열람했으며 언급을 찾지 못했습니다.데이터 문제가 발생하지 않고 시각적으로 텍스트를 자르다

배경 : 나는 사용자와 디자이너가 나를 시각적 효과에 대한 업데이트 가능한 형태로 텍스트 I 출력을 절단하고 싶은 프로젝트에서 일하고 있어요. 입력 필드의 끝 부분에서 텍스트가 잘 리지 않게하고 상자의 텍스트를 상자의 길이에 맞게 표시하려고합니다.

문제점 : 문자열을 자르는 방법을 알고 있고 업데이트되지 않은 필드를 무시하도록 스크립트를 만드는 방법을 알고 있습니다. 어떻게 해야할지 모르겠지만 사용자가 필드 업데이트를 시작할 때 데이터 무결성을 유지해야합니다. 필드에 더 이상 전체 값이 포함되지 않기 때문에 데이터베이스를 업데이트 할 때 심각한 결함을 일으키는 것처럼 보입니다.

질문 : 나는 그들이 잘린 프리젠 테이션의 관점에서 원하는 무엇을 그 (것)들을 제공하고 그들이 그 입력을 편집하려고하면 각 입력의 전체 텍스트가 나타날 수 ... 또는 수있는 방법이 있나요 나는 돌아가서 "네가 원하는 것은 뭘 할 수 없니?"라고 말해야합니까? 나는 다른 제안들에 대해서도 열려 있습니다. :)

+0

당신이 이것을 위해 유익하게 검색 할 수없는 이유는 개별 기술 구성 요소로 분해하지 않았 음을 매우 광범위하게 요구한다는 것입니다. –

답변

1

정확하게 이해한다면 여기에 몇 가지 문제점이 있습니다. 상대적으로 단순한 잘린 형태로 일부 데이터를 표시해야합니다. 또한 편집 된 데이터를 전체적으로 표시해야하며, 양식을 제출할 때 잘린 데이터를 전체 데이터로 대체하고 사용자가 변경 한 내용은 지우지 않도록해야합니다.

jQuery로이 작업을 수행 할 수 있습니다. 잘린 데이터를 표시하지만 .data()을 사용하여 전체 데이터를 저장하십시오. 또한 .data()를 사용하여 각 필드에 플래그를 저장하여 편집 여부를 알 수 있습니다. 필드가 포커스를 얻으면 전체 데이터를 표시합니다. 양식이 제출되면 각 필드의 플래그가 편집되었는지 확인하십시오. 있다면, 그냥 둡니다. 데이터가 편집되지 않은 경우 필드 내용을 제거하고 전체 길이 데이터를 교환하십시오. 그런 다음 양식을 제출하십시오.

잘라낸 데이터를 표시하고, 전체 데이터를 편집 할 수있게하며, 편집되지 않은 경우 잘린 데이터를 제출하지 않도록하십시오.

+0

좋아요, 이건 좀 더 할 수 있습니다. 방금 jQuery를 배우기 시작했는데, 이것이 내가 본 것 중 가장 가까운 것입니다. 내가 조금 파헤 치면 이것을 볼 수 있을지. – AlexC

2

나는 당신이 text-overflow CSS 속성을 찾고있을 것이라고 생각합니다.

+0

어쩌면 올바르게 구현하지는 못했지만, 여전히 한도 내에서 단어의 끝 대신에 상자의 끝에 클리핑이 발생하는 것으로 보입니다. – AlexC

+0

@AlexC 늦은/일찍 내 눈을 피곤하지만 나는 당신의 질문에 그 요구 사항을 보았다고 생각하지 않습니다. –

+0

죄송합니다. 분명치 않았습니다.그것이 내가 "입력 필드의 끝 부분에서 텍스트를 잘라 내고 상자의 텍스트를 상자의 길이에 맞추기를 원하지 않는다는 것을 의미합니다." 나는 텍스트가 이미 스타일링이 필요없는 입력 상자에서 자르기 때문에 분명히하고 있다고 생각했습니다. 나는 앞으로 더 명확 해 지도록 노력할 것입니다. 당신이 썼을 때 당신을 위해 늦었거나 일찍 시작했다면, 나는 좋은 잠을 잤다가 이것을 읽으시기 바랍니다. :) – AlexC

1

줄 바꿈 된 문자열과 전체 문자열을 포함하는 속성을 유지하고 표시 목적으로 잘린 문자열을 사용하는 선을 따라 뭔가를 생각해 보겠습니다. 양식 필드를 클릭하면 전체 문자열로 바꿀 수 있습니다. 변경 사항이 없으면 입력 값은 전체 문자열 특성과 일치합니다. 그 교장을 따라, 그들이 아무것도 바꾸지 않았다면, 그것을 잘린 문자열로 다시 대체하십시오.

편집 한 내용이 있으면 편집 한 속성을 동적으로 만들어 입력 필드에서 편집 한 버전의 문자열을 저장할 수 있습니다.

이 시점에서 기본적으로 몇 가지 간단한 속성 테스트/평등 확인이 될 것입니다.

+0

이것은 올바른 라인을 따라, 나는 단지 어떻게 "어떻게"전략을 알아 내려고 노력하고 있어요. 감사합니다. – AlexC

+0

모든 것이 구현되었습니다. 하나의 양식 필드 만 가지고 시작하면 텍스트를 형식화 할 수있는 다양한 방법을 저장할 수있는 하나의 개체 만 있으면 도움이 될 수 있습니다. 쉽게 참조 할 수 있도록 객체를 사용하고 키에 양식 필드의 이름을 지정하십시오. 작게 시작한 후에는 실제 상황에 이르기까지 기본 테스트를 확장하십시오. – thescientist

관련 문제