2011-02-04 6 views
2

텍스트 상자에 이미 텍스트가 들어있어 사용자가 들어갈 텍스트를 알고 있습니다. 이미 클릭하여 모든 텍스트를 선택하도록 설정했습니다. 내가 어떻게하면 텍스트 상자를 클릭하여 모든 텍스트를 지울 수 있는지 알고 싶습니다. 마찬가지로 사용자가 작성한 모든 것을 삭제하면 원본 텍스트가 어떻게 나타나게 할 수 있습니까?HTML 텍스트 상자의 텍스트를 자동으로 바꾸기

스택 오버플로에 관한 질문을 할 때 제목에 대한 텍스트 상자를 사용하고 싶습니다.

답변

3

아래 코드를 사용하여 입력 요소 또는 텍스트 영역에 클래스 "clear"를 추가하면 초기 값이 지워집니다 !!!

<!DOCTYPE html>  
<html> 
    <head> 
    <title>Sample</title> 
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.min.js" type="text/javascript"></script> 
    <script> 
    $(function() { 
     $('.clear').one('focus', function() { 
     this.value = ''; 
     }); 
    }); 
    </script> 
    </head> 
    <body> 
    <input type="text" value="Full Name" class="clear"/> <br /> 
    <input type="text" value="Email" class="clear"/> <br /> 
    <textarea value="About you..." class="clear"></textarea> 
    </body> 
    </html> 
+1

저는 초급입니다. 설명해 주시겠습니까? 많은 감사합니다! – Teknophilia

+0

물론 JQuery와 같은 Javascript 라이브러리를 사용하고 있습니까? 이렇게하면 훨씬 더 효율적이고 쉽게 작업을 수행 할 수 있습니다. 원한다면 JQuery를 사용하여 완벽한 해결책을 얻는 답을 바꿀 것입니다 – Paul

+0

@Teknophilia -이 방법이 효과가 있습니까? – Paul

0

작성한 텍스트 영역에는 태그에 연관된 ID가 있어야합니다. 텍스트 영역 ID는 다음과 같습니다.

<textarea id="someId"...> 

여기서 "someId"는 사용자가 부여하는 이름이됩니다. 다음 코드를 사용할 때

document.getElementById('someId').value = ''; 

위의 함수에 지정된 텍스트로 바뀝니다. 이 경우 텍스트로 바뀝니다. 상자의 바깥 쪽을 클릭 한 다음 다시 안쪽을 클릭하면이 작업이 한 번만 수행되고, 그렇지 않으면 사용자의 입력 내용이 계속 지워집니다.

1

신속하고 더러운하지만,이 작업을 수행 :이 도움이

<input type="text" value="init..." onfocus="this.value=''; this.onfocus=null;" /> 

희망!

관련 문제