2013-01-18 8 views
0

입력 필드 onfocus를 지우고 비어있는 경우 기본 텍스트 onblur로 다시 설정하는 데 몇 가지 기능을 만드는 데 문제가 있습니다. 일부 텍스트를 변경 한 다음 백 스페이스 키를 누르기 전까지는 제대로 작동합니다.onfocus 입력란 지우기

내 기능은 다음과 같습니다

function enterField (id, defaultText) { 
    if (document.getElementById(id).value == defaultText) { 
     document.getElementById(id).setAttribute("value", ""); 
     document.getElementById(id).style.color = "#000000"; 
    } 
} 

function leaveField (id, defaultText) { 
    if (document.getElementById(id).value == "" || document.getElementById(id).value == defaultText) { 
     document.getElementById(id).setAttribute("value", defaultText); 
     document.getElementById(id).style.color = "#dddddd"; 
    } 
} 

그리고 내 HTML이다 : 그것은 www.ag-designs.ca/index_new.php에서 작동하는 방법을

<table style="width: 464px; margin-right: -7px; margin-left: -7px; table-layout: fixed;" cellpadding="0" cellspacing="8"> 
    <tr> 
     <td class="input"><input id="name" type="text" class="name" size="32" value="Name" onfocus="enterField('name', 'Name');" onblur="leaveField('name', 'Name');"></td> 
     <td class="input"><input id="email" type="text" class="name" size="32" value="Email" onfocus="enterField('email', 'Email');" onblur="leaveField('email', 'Email');"></td> 
    </tr> 
    <tr> 
     <td class="input" colspan="2"><textarea id="message" class="message" rows="8" onfocus="enterField('message', 'Message');" onblur="leaveField('message', 'Message');">Message</textarea></td> 
    </tr> 
    <tr> 
     <td style="text-align: right;" colspan="2"><input id="submit" type="submit" class="button" value="Send"></td> 
    </tr> 
</table> 

당신은 볼 수 있습니다. 하단의 "Let 's Talk"를 클릭하십시오.

답변

0

변화

document.getElementById(id).setAttribute("value", defaultText); 

당신의 기능에서 모두 발생에

document.getElementById(id).value = defaultText; 

합니다.

+0

놀라워요, 감사합니다! – user1991898

+0

당신은 환영합니다 :) 나는 새로운 것을 알고 행복해 졌을 때 나는 대답했다. – mavili