2009-08-31 4 views
134

이것은 firefox에서 firefox로 발견 한 것입니다.사용할 수없는 입력 값은 제출되지 않습니까?

다른 브라우저에서 동일합니까?

그렇다면이 이유는 무엇입니까?

+17

'readonly'속성을 설정할 수 있습니다. 예를 들어 Chrome은 사용 중지 된 입력란으로 렌더링하지만 제출합니다. – peterrus

+4

가능한 [중복 된 양식 입력이 요청에 나타나지 않음] (http://stackoverflow.com/questions/7357256/disabled-form-inputs-do-not-appear-in-the-request) – hazzik

답변

129

예, 모든 브라우저 은 읽기 전용이므로 사용하지 않는 입력을 제출해서는 안됩니다.

More info (제 17.12.1)의

속성 폼 제어 설정하면

비활성화 [CI]가이 부울 특성 사용자 입력에 대한 제어를 비활성화 데피니션. 이 속성을 설정하면 비활성화 된 속성 은 요소에 다음과 같은 영향을줍니다.

  • 비활성화 된 컨트롤은 포커스를받지 못합니다.
  • 비활성화 된 컨트롤은 탭 탐색에서 건너 뜁니다.
  • 비활성화 된 컨트롤은 성공할 수 없습니다.

다음 요소는 disabled 속성을 지원합니다 : BUTTON, INPUT, OPTGROUP, OPTION, SELECT 및 TEXTAREA.

이 특성은 상속되지만 로컬 선언은 상속 된 값보다 우선합니다.

비활성화 된 요소가 렌더링되는 방법은 사용자 에이전트에 따라 다릅니다. 예 : 의 경우 일부 사용자 에이전트는 메뉴 항목을 회색으로 표시합니다. 버튼 레이블 등

이 예에서는 INPUT 요소가 비활성화되어 있습니다. 따라서 사용자 입력을받을 수 없으며 해당 값을 양식과 함께 제출하지 않습니다.

<INPUT disabled name="fred" value="stone"> 

참고. 비활성화 된 속성의 값을 동적으로 수정하는 유일한 방법은 스크립트를 사용하는 것입니다.

+59

해결 방법 : 추가 비활성화 된 입력과 이름/값이 같은 요소. –

+0

브라우저가 수행하고 수행하지 않는 정보는 무엇입니까? – Allisone

+2

@ JohnKugelman 좋은 생각이지만 실수로 숨겨진 속성을 실수로 추가하지 않도록하십시오. 나는 이것을했다 : $ ('# thingy') .Val (무엇이든) .not ('[type = hidden]'). attr ('disabled', 'disabled') –

17

that's what it says in the W3C spec 때문에 제출되지 않았습니다.

17.13.2 성공적 제어

성공적인 제어가 제출 "유효"입니다. [축소]

  • 사용할 수없는 컨트롤은 성공할 수 없습니다.

즉, 사용 중지 된 컨트롤은 잘못된 것으로 간주되므로 제출해서는 안됩니다.

178

disabled 입력 데이터를 제출하지 않습니다.

readonly 속성을 사용

<input type="text" readonly /> 

Source here

+11

하지만이 태그는 선택 태그에서 작동하지 않습니다! – shareef

+0

@shareef http://jsbin.com/diloha/1/이 방법에 대해 어떻습니까? –

+0

@ FrankFang, Ok,하지만 Laravel collective의 블레이드 템플릿에 데이터를 전달할 때. 그것은 작동하지 않습니다. 그런 식으로 데이터를 보낼 수 없습니다. –

1

Disabled 컨트롤이 성공하지 못할 수, 성공적인 제어가 제출 "유효"입니다. 이 때문에 비활성화 된 컨트롤이 양식과 함께 제출되지 않습니다.

관련 문제