비활성화 된 입력 값은 제출되지 않습니다
이것이 Firefox에서 Firebug가 찾은 것입니다.
다른 브라우저에서도 동일합니까?
그렇다면 그 이유는 무엇입니까?
예, 모든 브라우저는 비활성화 된 입력을 읽기 전용이므로 제출해서는 안됩니다.
자세한 정보 (섹션 17.12.1)
속성 정의
disabled [CI] 폼 컨트롤로 설정하면이 부울 속성은 사용자 입력 컨트롤을 비활성화합니다. 설정하면 disabled 속성이 요소에 다음과 같은 영향을 미칩니다.
- 비활성화 된 컨트롤에는 포커스가 없습니다.
- 탭 탐색에서 비활성화 된 컨트롤을 건너 뜁니다.
- 비활성화 된 컨트롤은 성공할 수 없습니다.
다음 요소는 disabled 속성을 지원합니다 : BUTTON, INPUT, OPTGROUP, OPTION, SELECT 및 TEXTAREA.
이 속성은 상속되지만 로컬 선언은 상속 된 값보다 우선합니다.
비활성화 된 요소가 렌더링되는 방법은 사용자 에이전트에 따라 다릅니다. 예를 들어, 일부 사용자 에이전트는 메뉴 항목, 단추 레이블 등을 "회색으로 비활성화"했습니다.
이 예에서는 INPUT 요소가 비활성화되어 있습니다. 따라서 사용자 입력을 수신 할 수 없으며 해당 값을 양식과 함께 제출하지 않습니다.
<INPUT disabled name="fred" value="stone">
노트. disabled 속성의 값을 동적으로 수정하는 유일한 방법은 스크립트를 사용하는 것입니다.
disabled
입력은 데이터를 제출하지 않습니다.
readonly
속성을 사용하십시오 .
<input type="text" readonly />
그것이 W3C 사양에서 말하는 것이므로 제출되지 않습니다 .
17.13.2 성공적인 통제
성공적인 제어는 제출에 "유효"합니다. [한조각]
- 비활성화 된 컨트롤은 성공할 수 없습니다.
다시 말해, 사양에 따라 비활성화 된 컨트롤은 유효하지 않은 것으로 간주되어 제출해서는 안됩니다.
비활성화 된 것을 흉내 내기 위해 세 가지를 사용할 수 있습니다.
HTML :
readonly
속성 (입력에있는 값을 양식 제출에 사용할 수 있습니다. 또한 사용자는 입력 값을 변경할 수 없습니다)CSS :
'pointer-events':'none'
(사용자가 입력을 클릭하지 못하도록 차단)HTML :
tabindex="-1"
(사용자가 키보드 입력으로 이동하지 못하도록 차단)
Disabled
통제는 성공할 수 없으며 성공적인 통제는 제출에 "유효"합니다. 이것이 비활성화 된 컨트롤이 양식과 함께 제출되지 않는 이유입니다.
읽기 전용 속성에서도 여전히 선택 컨트롤을 클릭 할 수 있음
여전히 컨트롤을 비활성화하고 싶지만 값을 게시하려는 경우. 숨겨진 필드를 만드는 것을 고려할 수 있습니다. 컨트롤과 동일한 값으로
그런 다음 선택 변경시 jquery를 만듭니다.
$('#your_select_id').change(function () {
$('#your_hidden_selectid').val($('#your_select_id').val());
});
참고 URL : https://stackoverflow.com/questions/1355728/values-of-disabled-inputs-will-not-be-submitted
'Programming' 카테고리의 다른 글
R에서 벡터를 청크로 나눕니다. (0) | 2020.05.07 |
---|---|
여러 테이블에서 개수 (*)를 선택하십시오. (0) | 2020.05.07 |
파이썬은 파일을 얼마나 자주 플러시합니까? (0) | 2020.05.07 |
Visual Studio가 Internet Explorer 대신 기본 브라우저를 엽니 다 (0) | 2020.05.07 |
dyld : 라이브러리가로드되지 않았습니다 : @ rpath / libswift_stdlib_core.dylib (0) | 2020.05.07 |