1

캘린더 위젯을 사용하여 사용자가 날짜를 선택하는 데 도움이되고 싶습니다.캘린더 위젯 (자바 스크립트) 및 유용성 문제

독립형 캘린더 또는 jquery 플러그인을 사용하고 싶습니다. 내 프로젝트에서 나는 jquery를 사용하고 있고 다른 프레임 워크를 사용하고 싶지 않다.

많은 캘린더를 보았지만 모두 동일한 문제가 있습니다. 나는 지금 그것을 기술 할 것이다, 아래를 보라 :

캘린더를 표시하는 방법은 두 가지가있다 : 1. 버튼, 아이콘 등을 클릭하여 표시한다. 2. 텍스트 필드 (날짜 선택 결과가 표시되는 곳)를 클릭하여 표시합니다.

두 번째 방법을 선택했습니다. 내 경우에는 추가 아이콘, 버튼 등이없는 텍스트 필드가 하나만 있습니다. 이 텍스트 필드에 포커스가 있으면 달력이 나타납니다. 사용자가 날짜를 선택하면 달력이 숨겨지고 텍스트 필드에 선택한 날짜가 표시됩니다.

그리고 여기에 내가 큰 문제가 ...

달력을 표시 한 후 텍스트 필드에 포커스를 잃어버린된다. 그리고 선택 날짜 이후에 포커스는이 필드로 돌아 가지 않았고 키 (키보드에서)는 처음부터 시작되었습니다.

사용자가 캘린더에서 선택 날짜를 마쳤을 때 텍스트 필드에 선택한 날짜가 나타나면 다음 텍스트 필드로 이동하기 위해 계속 키를 사용할 수 있다는 점에서 유용성 포인트에서 유용합니다.

어떻게 해결할 수 있습니까?

P. 단 하나의 아이디어 만 있지만,보기 싫어서 조금 꼴이 보입니다.

캘린더가 나타나면 텍스트 필드의 이벤트 핸들러 (포커스 이벤트)를 파괴 할 수 있습니다. 사용자가 선택한 날짜와 캘린더가 사라지면이 텍스트 필드에 포커스를 설정하고이 텍스트 필드에 이벤트 리스너 (포커스)를 다시 첨부 할 수 있습니다.

감사합니다.

답변

1

jQuery-UI's datepicker은 팝업 달력 위젯에 포커스를 보내지 않고 대신 사용자가 다른 컨트롤을 사용하여 날짜를 변경할 것으로 예상되며, 사용자가 수동으로 날짜를 입력 할 수 있습니다.

+0

사용자는 수동으로 날짜를 써서는 안되며, 언제든지 오류를 만들 수 있습니다. 그 이유는 내가 그들이 캘린더에서 선택 해야하는지 생각하고있어. 그리고 양식을 채우기 위해 키보드 나 마우스를 사용할 수 있어야합니다. 필드에서 필드로 건너 뛰기는 일반적으로 마우스 클릭 또는 Tab 키를 눌러 발생합니다. 그리고 jquery UI가 마음에 들지 않습니다. 감사합니다 – user1016265

+0

@ user1016265, ui 위젯은 접근성을 염두에두고 고안되었습니다. 사용자는 어쨌든 키보드, 마우스 또는 이와 동등한 입력 장치를 사용해야합니다. 자바 스크립트를 사용 중지 한 경우 수동으로 날짜를 입력해야합니다. – zzzzBov

+0

나는 jquery UI 캘린더를 사용하여 다음 필드로 이동하기 위해 Tab 키를 계속 사용할 수 없다는 것을 의미하며, – user1016265

2

JavaScript는 단일 스레드 언어이므로 .focus()을 호출하면 변수 (disableEvents 또는 그 밖)를 true로 설정하고 false로 다시 설정할 수 있습니다. 이로 인해 문제가 발생하지 않으며 많이 필요하지 않습니다. 작업.

+0

좋은 아이디어, 감사 – user1016265