display : none 요소 내 양식 필드 제출
6 단계로 나누어 진 긴 형태가 있습니다. 양식이로드되면 모든 단계가로드되지만 첫 번째 단계 만 표시됩니다. 나머지는 CSS가 display:none
있으므로 숨겨져 있습니다. 단계가 완료되고 Javascript로 유효성이 검증되면 현재 단계는로 설정되고 display:none
새 단계는로 설정됩니다 display:block
. 마지막 단계에서 사용자는 양식을 제출합니다. 그러나 예상대로 display:block
페이지 요소 의 필드 만 제출됩니다. 요소에서 완료된 모든 필드 display:none
는 무시됩니다.
display:none
요소 내부에 필드를 제출하는 방법이 있습니까?
그렇지 않은 경우 동일한 효과를 얻을 수있는 다른 방법이 있습니까?
로 설정 visibility:hidden
하고 position:absolute
대신. 필드는 사용하여 서버로 전송되지 않습니다 display:none
,하지만 함께합니다 visibility:hidden
. 또한 "위치"를 "절대"로 전환하면 동일한 시각적 효과를 얻을 수 있습니다.
업데이트이 문제는 현재 브라우저에서 더 이상 문제가되지 않는 것 같습니다 (2015 년 11 월 기준). 디스플레이가 '없음'으로 설정된 경우에도 필드가 제출됩니다. 그러나 '비활성화'된 필드는 계속 제출되지 않습니다.
HTML4 섹션 17.13.2에는 display : none을 사용하는 숨겨진 컨트롤도 제출에 유효 할 수 있다고 명시되어 있습니다.
https://www.w3.org/TR/html401/interact/forms.html
따라서 브라우저가 display : none을 무시하면 완전히 HTML을 지원하지 않습니다. 실제 브라우저로 전환하는 것이 좋습니다.
위의 답변에 무언가를 추가하십시오. 사용하려면 slideDown()
-바로 전에 다음과 같이 요소의 CSS를 설정하십시오.
$('element')
.css({
display: 'none'
position: 'relative',
visibility: 'visible'
})
.slideDown();
그리고 slideDown()
잘 작동합니다. 에 대해 동일한 논리를 사용할 수 있습니다 slideUp()
.
참고 URL : https://stackoverflow.com/questions/8318428/submit-form-fields-inside-displaynone-element
'IT박스' 카테고리의 다른 글
상속 된 클래스가 아닌 클래스의 리플렉션 속성으로 가져옵니다. (0) | 2020.11.04 |
---|---|
C에서 입력 버퍼를 지우는 방법은 무엇입니까? (0) | 2020.11.04 |
Ruby의 cURL과 동일합니까? (0) | 2020.11.03 |
여러 배열 요소를 설정 해제하는 더 나은 방법 (0) | 2020.11.03 |
프로덕션 환경 전용 Devise 등록 비활성화 (0) | 2020.11.03 |