JavaScript实现输入框点击清除默认值与失焦恢复提示

作者:流萤时间:2026-10-29 20:20:51浏览:402

本文介绍利用JavaScript实现文本框的交互效果:当用户点击文本框时自动清除默认提示文字,当输入内容为空且鼠标焦点离开(onblur)时,自动恢复显示默认提示信息。代码包含HTML结构及JS事件监听逻辑,并简要提及密码框的特殊处理方案。

文本框点击清除与失焦恢复逻辑

许多网站在填写文本框时,默认状态下会显示一段提示文字。当用户点击该文本框时,系统应自动清除其中的默认文本;而当用户删除已输入的内容且焦点离开文本框时,系统需将默认的提示文本重新写入文本框。

具体实现代码如下:

基础HTML与JavaScript实现


<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="https://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> 

上述代码满足了前述需求:点击文本框时清除内容;若文本框内无输入,当鼠标焦点离开时,文本框的值将恢复为默认状态。需要注意的是,密码框的处理可能较为复杂,因为密码框不显示明文。关于密码框提示语的解决方案,可参考JavaScript实现输入框(密码框)出现提示语相关章节。

以下是鼠标离开文本框时触发JavaScript方法的具体示例:

ASP.NET环境下的失焦验证示例


<%@ 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> 
作者最新文章