2009-08-01 5 views
20

POST를 통해 비활성화 된 텍스트 필드를 제출하면 결과 값은 작업 페이지에서 무엇이됩니까?양식을 게시 할 때 비활성화 된 텍스트 필드가 제출됩니까?

예를 들어, I는 가지고

<table border=0 cellpadding=4 cellspacing=0> 
<tr><td> 
    <input type="checkbox" id="chk_$item" 
    onClick="javascript:handleClick('$item')"> 
</td><td> 
    <input type="text" id="txt_$item" name="addresses[]" value="$item"> 
</td></tr> 
<tr><td> 
    ...etc... 
</td></tr> 
</table> 

handleClick() 자바 스크립트 기능 검사, 그것은 txt_$item 텍스트 필드가 비활성화되지 않은 경우 chk_$item이 선택된 경우.

제출할 때 모든 텍스트 필드는 PHP 스크립트의 addresses[] 배열로 이동합니다.

하지만 필드가 사용 중지 된 경우 아무것도 제출하지 못하게 할 수 있습니까? 기본적으로이 작업이 수행됩니까? 그렇지 않다면 어떻게 행동을 바꾸어야합니까? (나는 장애가있을 때 필드를 정리하고 싶지 않습니다.)

답변

57

사용하지 않은 입력은 양식과 함께 제출되지 않습니다. 이는 정의 된 동작의 일부인 disabled입니다 (cf. W3C HTML 4.01 Form docs.

+1

덕분에 내 프로젝트에서 잠시 시간을 절약 할 수있었습니다. –

+1

사양에 대한 링크를 통해 저에게 upvote를 얻을 수있었습니다. –

+1

거기에가. :) – chaos

21

변경하지 않으려면 readonly으로 지정하십시오.

+0

간단히 말하면 : 읽기 전용은 OP의 요구를 충족시키지 * 않습니다 *. 내가 올바르게 이해한다면, OP는 명시 적으로 제출 필드를 제외시키고 자했다. 비슷한 것처럼 들리지만 근본적으로 완전히 다른 것입니다. 이는 클라이언트 측에서 필드 내용을 보호하는 것이 아니라 서버 측에서받은 제출 데이터 세트를 줄이는 것입니다. 카오스는 장애가있는 입력을 제안했습니다. 나는 이전의 테스트에서 '읽기 전용'및 '장애인'이 다른 웹 브라우저에서 다르게 보일뿐만 아니라 실제로 동일하지 않음을 알고 있습니다. – hasienda

+0

이것은 주석으로 쓰여진 것이 더 좋을 것입니다. "또는, 만약 당신이 그것을 바꾸고 싶지 않다면 ...". OP의 질문에 만족하지 않습니다. 다른 문제에 대한 대체 솔루션입니다. – Citizen

관련 문제