노출 된 필터 자동 제출에 포커스가 없음


9

아약스가 활성화 된보기를 설정했습니다. 또한 사용자가 텍스트 필드에 입력 할 때보기가 자동으로 업데이트되도록 자동 제출을 사용하여 노출 된 필터를 추가했습니다. 문제는 양식이 자동 제출되면 텍스트 상자에 포커스가 없어진다는 것입니다.

노출 된 양식을 별도의 블록으로 분리해야한다는 것을 읽었지만 뷰가 블록 자체 이므로이 옵션을 사용할 수 없습니다.

텍스트 상자를 계속 클릭하여 입력 해야하는 것은 정말 고통 스럽기 때문에 모든 도움을 주시면 감사하겠습니다.


2
이것은 알려진 문제입니다 : drupal.org/node/1217948
Daniel Wehner

exposed_filter_alter를 수행하여 수동으로 값을 변경하고 고유 한 JavaScript를 추가 할 수 있습니까?
Andrew Welch

답변:



2

당신은 정말로 여기에 단 하나의 선택이 있습니다.

한 가지 또는 다른 방법으로 뷰에서 양식을 (재) 이동해야합니다.

노출 된 필터가 초점을 잃는 이유는 전체보기가 ajax에서 교체되기 때문입니다. 양식이 동일한보기로 렌더링되는 경우 초점을 유지할 수있는 방법이 없습니다.

솔루션 (모두보기에서 양식을 이동시키는 것과 관련됨) :

  • 뷰 "블록에 노출 된 필터"사용 권장 옵션
  • 노출 필터 양식을 렌더링하기위한 사용자 정의 블록 설정 (코드 작성 필요)

다음은 피해야 할 옵션이지만 최후의 수단으로 여기에 언급했습니다.

  • 언제든지 views.tpl.php를 "해킹"하여 노출 형식을 메인 뷰 div 밖으로 이동할 수 있습니다. 나는 이것이 좋은 옵션이 아니기 때문에 "hack"을 사용합니다. 그러면 뷰 바로 위에 양식이 배치되지만 뷰 JS 코드는 뷰 div 만 대체합니다. JS가 작동하지 않을 것이라고 말하고 있습니다. 그 문제를 해결해야합니다.

  • 그런 다음 최후의 수단으로 항상 JS를 사용하여 양식을 이동할 수 있습니다. 이것은 매우 낙담합니다. 뷰가 디스플레이를 업데이트 한 후 폼이 JS 동작을 느슨하게하기 때문에


다른 사람이 궁금해하는 경우를 대비하여 @ericduran이 여기에 권장하는 솔루션은 뷰가 페이지의 경우 "블록에 노출 된 양식"을 배치하기 위해 뷰의 옵션을 선택하는 것이 가능하다고 생각합니다 (블록으로 볼 수는 없습니다) .
맥스 스타 켄 버그
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.