누군가 나에게 제출 버튼을 누르면 텍스트 상자를 읽기 전용으로 설정하는 자바 스크립트 기능을 제안 할 수 있습니까? 따라서 내용을 수정할 수 없습니다.제출시에만 텍스트 상자를 읽기로 설정
답변
input
을 비활성화하려면 disabled
속성을 설정해야합니다. 당신이 jQuery를 사용할 수있는 경우,이 같은 당신을 위해 무엇을 찾고있는 것 :
$('#idOfYourInput').attr('disabled', true);
를 jQuery를이 옵션을 선택하지 않으면, 당신은 setAttribute
기능을 사용할 수 있습니다. the MDN documentation for it을 살펴보십시오. 이런 식으로 뭔가 :
var d = document.getElementById('idOfYourInput');
d.setAttribute('disabled', 'true');
(이 코드 샘플 모두가 당신이 식별한다고 가정 당신의 id
속성에 의해 input
그런 경우가 아니라면, 이러한 변경해야 JQuery와 하나의 변화에 사소한 것.. 후자의 코드 샘플은 input
요소를 찾기 위해 다른 DOM 탐색/선택 함수를 사용해야 할 것입니다.)
당신은 이것을 포함시키려는 대상 속성을 식별하기 위해 선택기를 업데이트하면됩니다. 제출 버튼의 핸들러. 그러나 이것이 현재 페이지 컨텍스트에서만 중요하다는 것을 이해하십시오. 그래서 이라고 가정하면 제출 버튼이 AJAX를 통해 제출을 수행하는 데 사용되고 실제로는 전체 페이지를 POST하지 않습니다. 페이지 전체를 POST하는 경우 페이지를 새로 고칠 때 완전히 새로운 페이지 컨텍스트에있게됩니다. (즉, 버튼 클릭 이벤트와 연결된 모든 코드는 아직 실행되지 않았 음을 의미합니다.)
상황은 채워진 양식이 있고 양식을 제출할 때 양식을 그대로두고 입력 필드를 비활성화하여 변경할 수 없도록합니다. 따라서 사용자는 제출 한 내용을 계속 볼 수 있습니다. – user1403763
@ user1403763 : 완전히 새로운 페이지를 렌더링하는 경우 사용자가 페이지를 편집하지 않아도되는 이유는 무엇입니까? 양식 요소는 데이터 편집을 목적으로합니다. 사용자가 데이터 만 볼 수 있으면 양식없이 데이터를 표시하십시오. 이것이 사용자 경험의 요구 사항이라면 양식과 매우 유사하게 스타일을 지정할 수 있습니다. 그러나'span' 태그와 같이 편집 할 수없는 것들에 데이터를 넣으십시오. – David
내 설명이 적절하지 않다고 생각합니다. 회계 연도 테이블이 있습니다. 사용자가 입력 할 특정 텍스트 필드가 있습니다 (예 : 대상 세부 정보). 사용자에게 로그인이 제공됩니다. 사용자가 로그인하면 데이터를 입력 할 수 있습니다 사용자가 입력 한 세부 정보가 제출 버튼에 저장됩니다. 사용자가 다시 로그인하면 이미 채워진 텍스트 상자가 비활성화되어 사용자가 다른 필드의 세부 정보를 계속 입력 할 수있게됩니다. – user1403763
- 1. 실제로 비활성화하지 않고 ASP.net 텍스트 상자를 사용하지 않도록 설정 하시겠습니까?
- 2. , 이에 따라 텍스트 상자를 가능하게 jQuery를 사용하지 않도록 설정 클릭에
- 3. 텍스트 상자를 통해 콤보 상자를 변경하십시오. VB.NET
- 4. 텍스트 상자를 값으로 바인딩
- 5. 텍스트 상자를 잠그는 방법?
- 6. .NET에서 텍스트 상자를 반복합니다.
- 7. 2 텍스트 상자를 전달하십시오.
- 8. onclick은 텍스트 상자를 만듭니다
- 9. 텍스트 상자를 반복합니다.
- 10. 텍스트 상자를 비워두면 경고합니다.
- 11. android의보기에 텍스트 상자를 추가하십시오.
- 12. 텍스트 상자를 공백에 넣기
- 13. 테이블에 텍스트 상자를 바인딩
- 14. 텍스트 상자를 사전으로 변환합니다.
- 15. DataGrid에서 텍스트 상자를 찾습니다.
- 16. 텍스트 상자를 읽는 방법?
- 17. 열기 및 읽기로 사용 가능한 장치 검색
- 18. 설정 텍스트
- 19. WPF : 텍스트 상자를 텍스트 상자에 바인딩
- 20. 동적으로 텍스트 상자를 생성하기위한 텍스트 변경 이벤트
- 21. 텍스트 상자를 MVVM Light의 텍스트 상자에 바인딩
- 22. usercontrol의 텍스트 상자 텍스트 설정 페이지
- 23. ANDROID 사용자가 텍스트 상자를 만들었습니까?
- 24. dynamicaly zend_form에 텍스트 상자를 추가하십시오.
- 25. 텍스트 상자를 레일에 자동 완성
- 26. 자동으로 텍스트 상자를 확장하는 방법
- 27. 여러 텍스트 상자를 추가하는 jQuery
- 28. 임시 텍스트 상자를 만드는 방법
- 29. 동적으로 asp.net에 텍스트 상자를 추가하십시오.
- 30. jquery 테이블에 텍스트 상자를 얻을
"수정 불가능"문 ... _Anything_ 클라이언트 측을 수정할 수 있습니다. 정통한 사용자는 여전히 텍스트 상자를 활성화하고 값을 입력 할 수 있으며 수동으로 해당 값을 서버의 POST에 포함시킬 수도 있습니다. 보안을 위해 JavaScript를 사용하려는 경우 접근 방식을 다시 평가하십시오. 클라이언트 측 양식 조작은 사용자 경험을위한 것이며 보안을 위해서는 _server-side_ 검증이 필요합니다. – David