여러 웹사이트에서 입력해야 하는 텍스트 상자에는 기본적으로 기본 프롬프트 언어가 제공됩니다. 이 텍스트 상자를 마우스로 클릭하면 입력한 텍스트가 삭제되고 포커스가 맞춰지면 내부의 기본 텍스트가 지워집니다. 텍스트 상자를 그대로 둡니다. 그런 다음 텍스트 상자에 기본 텍스트를 씁니다.
코드는 다음과 같습니다.
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.jb51.net/" /> <title>点击文本框清除默认值</title> <script type="text/javascript"> window.onload=function() { var username=document.getElementById("username"); username.onclick=function() { if(username.value=="请输入您的姓名") { username.value=""; this.focus(); } } username.onblur=function() { if(username.value=="") { username.value="请输入您的姓名"; } } } </script> </head> <body> <input type="text" value="请输入您的姓名" id="username" /> </body> </html>
위의 코드는 텍스트 상자를 클릭하면 텍스트 상자의 내용을 지울 수 있습니다. 이때 마우스 포커스가 텍스트 상자를 벗어나면 텍스트 상자의 값이 기본 상태로 복원됩니다. 다만, 비밀번호 박스가 일반 텍스트로 표시되지 않아 다소 번거롭다면, 입력 박스(비밀번호 박스)가 나타날 때 프롬프트의 자바스크립트 구현에서 해결 방법을 찾을 수 있습니다.
마우스가 텍스트 상자를 떠날 때 js를 실행하는 방법
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="textBox.WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script type="text/javascript"> function validate() { var name = document.getElementById("txtName"); if (name.value == 2) { alert("你必须不是二!"); name.focus(); return false; } return true; } </script> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="txtName" onblur="validate();" runat="server" /> </div> </form> </body> </html>