2009-08-07 5 views
1

JavaScript를 사용하여 텍스트 상자에서 백 스페이스를 사용하거나 키를 삭제하지 못하게하려면 어떻게해야합니까?JavaScript를 사용하여 텍스트 상자에서 백 스페이스를 사용하거나 키를 삭제하지 못하게하려면 어떻게해야합니까?

웹 양식에 텍스트 상자가 있습니다. 삭제 및 백 스페이스 키를 사용하지 않으려면 텍스트 상자의 키 누르기에서 JavaScript를 사용하고 싶습니다.

아무도 도와 줄 수 있습니까?

+4

을 설정하는 것이 좋습니다 것 도움이 될 것입니다. – rahul

+4

메뉴에서'잘라 내기 '를 선택하거나 삽입 키를 선택하는'Ctrl-X'를 잊지 마십시오. 입력에서 텍스트를 제거하는 데는 여러 가지 방법이 있습니다. –

+1

또는 텍스트 블록을 선택 (마우스 또는 Ctrl + a 또는 Shift + 커서 사용) 한 다음 쳐다 보면서 입력하십시오. – Keith

답변

11

왜 사람들이 텍스트 상자의 내용을 편집하게하지만 기본 편집 키를 사용할 수 없도록 제한합니까? 사용자가 오타를 만들면 어떻게 될지, 이것은 주요 사용 편의성 문제를 발생시키는 것처럼 들립니다.

나도 그런 다음 시나리오를 설명 할 수있는 경우 읽기 전용 플래그 (당신이 사용자가 값을 편집하지 않으려는 경우) 또는 비활성화 플래그 (당신도 그것을 제출하지 않을 경우)

+2

+1 유용성 문제를 언급합니다. – rahul

+3

Seconded. 예상치 못한 기능을 가진 놀라운 사용자를 항상 피하십시오. – Keith

2

다음은 특정 키 누르기 이벤트 또는 해당 행의 항목 (코드를 테스트하지 않은 항목)을 차단하는 코드입니다.

function isValidKey(e) 
{ 
    var charCode = e.keyCode || e.which; 
    if (charCode == 8 || charCode == 46) 
     return false; 

    return true; 
} 

<input id="tb_box" onkeydown="return isValidKey(event)" type="text" /> 
+0

작동합니까 아니면 내가 잘못하고 있습니까? 백 스페이스 만 파이어 폭스에서 작동하지만 IE에서는 작동하지 않습니다. – Canavar

+2

IE는 일부 문자가 아닌 키 (예 : 삭제, 종료, 입력, 이스케이프, f 키 등)에 대해 키 누르기 이벤트를 실행하지 않습니다. – rahul

+0

FF 3.5 및 IE 7에서는 작동하지 않습니다. – rahul

관련 문제