Onclick 事件删除文本输入字段中的默认值

2024-02-19

我有一个输入字段:

<input name="Name" value="Enter Your Name">

当用户单击该框时,如何删除预定义的文本(输入您的名字)。

据我所知,Javascript 是做到这一点的最佳方法。如果错了请通知我。


HTML5 占位符属性

您可能想要placeholder功能:

<input name="Name" placeholder="Enter Your Name" />

适用于旧版浏览器的 Polyfill

这在某些较旧的浏览器中不起作用,但是存在polyfill https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills(有些需要 jQuery,有些则不需要)来修补该功能。

“管它呢,我自己来吧。”

如果您想推出自己的解决方案,您可以使用onfocus and onblur元素的事件来确定其值应该是什么:

<input name="Name" value="Enter Your Name"
       onfocus="(this.value == 'Enter Your Name') && (this.value = '')"
       onblur="(this.value == '') && (this.value = 'Enter Your Name')" />

避免将 HTML 与 JavaScript 混合

你会发现我们大多数人并不热衷于通过诸如onblur and onfocus。相反,更普遍地鼓励将此逻辑纯粹与 JavaScript 绑定在一起。当然,它有点冗长,但它在逻辑和标记之间保持了很好的分离:

var nameElement = document.forms.myForm.Name;

function nameFocus( e ) {
  var element = e.target || window.event.srcElement;
  if (element.value == "Enter Your Name") element.value = "";
}

function nameBlur( e ) {
  var element = e.target || window.event.srcElement;
  if (element.value == "") element.value = "Enter Your Name";
}

if ( nameElement.addEventListener ) {
  nameElement.addEventListener("focus", nameFocus, false);
  nameElement.addEventListener("blur", nameBlur, false);
} else if ( nameElement.attachEvent ) {
  nameElement.attachEvent("onfocus", nameFocus);
  nameElement.attachEvent("onblur", nameBlur);
}

Demo: http://jsbin.com/azehum/2/edit http://jsbin.com/azehum/2/edit

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Onclick 事件删除文本输入字段中的默认值 的相关文章

  • 一个文本区域中的文本应复制到另一个文本区域,并且应使用 JavaScript 单击按钮清除原始文本区域

    我已经完成了以下代码 它显示两个文本区域 其中一个文本区域中的文本通过使用 javascript 单击按钮复制到另一个文本区域
  • 大小相同的表格单元格填充包含表格的整个宽度

    有没有办法使用 HTML CSS 具有相对大小调整 使一行单元格拉伸其所在表格的整个宽度 单元格的宽度应该相等 并且外表的大小也是动态的 table width 100 目前如果我不指定固定大小 单元格只是自动调整大小以适应其内容 您甚至不
  • Atom“自动完成”不起作用

    因此 当您安装 Atom 时 autocomplete 会随其一起提供 并且默认情况下处于启用状态 当我编写代码时 什么也没有显示 为什么 是否需要配置任何文件才能正常工作 In autocomplete plus settings pag
  • KineticJS - 将舞台缩放到视口

    我正在努力将默认分辨率设置为 1366x756 我会根据视口来放大和缩小它 类似于此处显示的示例 http blogs msdn com b davrous archive 2012 04 06 modernizing your html5
  • 按自定义字母顺序对数组进行排序

    如何对这样的数组进行排序 apple very auto tom tim violet 要按 v a t x b 等排序 不按字母顺序 violet very auto tom tim 在脚本中 我会做这样的事情 myArray sort
  • 避免 AngularJS 部分视图在 IE 中缓存

    我正在开发一个 ASP NET MVC 应用程序 它也有一些 angularJS 我有一个主页 其中有不同的选项卡 当您单击它们时 它们会加载角度部分视图 主页是这样的 div class widget div div class widg
  • 使用 test() 通过正则表达式进行信用卡验证

    我正在尝试完成一些作业 看来这本书可能做错了 我有一个简单的 html 页面 允许用户在我们的例子中选择信用卡 美国运通卡 然后 用户输入一个数字并根据正则表达式评估该数字 我的问题最终是当 test 计算它返回的数字时是布尔值还是字符串
  • 日期时间的自定义 JavaScriptConverter?

    我有一个对象 它有一个 DateTime 属性 我想通过 AJAX JSON 将该对象从 ashx 处理程序传递回网页 我不想使用第 3 方控件 当我这样做时 new JavaScriptSerializer Serialize DateT
  • Typeahead.js 干扰 Bootstrap 输入组

    如何防止 Typeahead js 拆分我的 Twitter Bootstrap 3 输入组 每当我将 Typeahead javascript 指向属于输入组一部分的文本区域时 连接的文本区域和提交按钮就会停止连接 这只是 Typeahe
  • 当脚本是从加载的脚本动态创建的 DOM 节点时,脚本 onload 和 window.onload 的顺序是否定义良好?

    File loader js function main if typeof window undefined var script window document createElement script script src https
  • 替换 Javascript 中的引号?

    对于我正在制作的网络应用程序 我将收到文本字符串 其中偶尔包含引号 因为我接下来要 document writing 字符串 所以需要将它们更改为撇号或转义 我该怎么做 因为当我尝试时它似乎不起作用 特别是我认为因为字符串的引号阻止了脚本的
  • HTML if 语句在 CDN 失败时加载本地 JS/CSS

    当从 CDN 或任何外部服务器加载 CSS JS 文件时 有可能 即使概率很低 由于外部故障而丢失该文件 在这种情况下 html 页面将因缺乏适当的 CSS 和 JS 而被损坏 有没有一种实用的方法可以在 CDN 故障时加载本地版本 IF
  • 设计 Javascript 前端 <-> C++ 后端通信

    在我最近的将来 我将不得不制作一个具有 C 后端和 Web 前端的系统 要求 目前 我对此了解不多 我认为前端将触发数据传输 而不是后端 所以不需要类似 Comet 的东西 由于在该领域的经验可能很少 我非常感谢您对我所做的设计决策的评论
  • Rails - 使链接与 ajax 一起工作

    我有一个链接 应该使用 ajax 加载它旁边的部分内容 而无需重新加载页面 链接在这里 这是链接应该转到的控制器 class ProfilesController lt ApplicationController def profile f
  • 反转二进制网络

    如何反转二元方程 以便找到哪些输入将产生给定的输出 Example Inputs i0 through i8 Outputs o0 through o8 Operators XOR AND 二元方程 1 i0 1 i1 0 i2 1 i3
  • ERR_IMPORT_ASSERTION_TYPE_MISSING 用于导入 json 文件

    这段代码运行良好 我不知道是因为我升级到 Node 17 还是什么原因 但现在我明白了 TypeError ERR IMPORT ASSERTION TYPE MISSING Module file Users xxxxx code pro
  • 如何在 svelte 中制作搜索过滤器

    我有两个组件在组件树中距离很远 我对如何在两者之间进行通信存有疑问 我有搜索组件 listItems 和商店 商店 svelte
  • 在javascript中定义Date.parse的格式[重复]

    这个问题在这里已经有答案了 我正在使用 Date parse 将字符串转换为 JavaScript 中的日期 但是 如果字符串看起来像 10 11 2016 它会被解释为 2016 年 10 月 11 日 我需要将其解释为 2016 年 1
  • 如何在 Javascript 中将字符串数组转换为特定的树结构

    我从后端获取文件路径列表 它代表文件夹结构 如下所示 paths path to file1 doc path to file2 doc foo bar doc 路径的长度是任意的 为了使用文件树组件 角度2树组件 https github
  • JS中如何过滤多个字符串? [复制]

    这个问题在这里已经有答案了 我希望能够过滤数组中的多个字符串 类型 例如我想过滤类型meat并输入fruit在下面的数据结构中 我想要实现的是过滤数据对象 const data type meat food hamburger type f

随机推荐

  • 未为我的带有 Firebase 动态链接的网站设置 UTM 参数

    我需要缩短我的网站网址 我选择 Firebase 动态链接 https firebase google com docs dynamic links https firebase google com docs dynamic links
  • java.lang.ClassCastException,通过 JNDI 查找获取 Entitymanager

    我是 JPA 新手 正在开发一个 web 应用程序 J2EE 其中该 web 应用程序位于 Tomcat 中 所以我无法使用 PersistenceContext 我决定使用 Helper 类 一切都很顺利 然后我决定实现 JNDI 进行连
  • 实施 Izhikevich 神经元模型

    我正在尝试实现 Izhikevich 模型的尖峰神经元 这种类型神经元的公式非常简单 v n 1 0 04 v n 2 5 v n 140 u n I u n 1 a b v n u n 其中 v 是膜电位 u 是恢复变量 If v超过 3
  • ng-repeat 排序在 jQuery 中抛出异常

    我有一个表 其中包含由 ng repeat 创建的行 表头有一个 ng click 用于设置排序谓词 该函数还确定方向 asc desc 排序工作正常 但由于某种原因 每次更改谓词并且排序触发时 我都会收到 jQuery 的异常 这是我正在
  • 从 SFSpeechRecognizer 获取语音幅度

    我正在使用这个库https github com appcoda SpeechToTextDemo https github com appcoda SpeechToTextDemo将语音转录为文本 我想要真实的语音幅度来显示这个库的语音图
  • iOS 9 点播资源可以永久保留吗?

    根据文档 iOS 9 通过 NSBundleResourceRequest 下载的按需资源仅保留到endAccessingResources被调用 并且被自动调用当资源请求对象被释放时 好的 但是当应用程序终止时 一切被解除分配 那么这是否
  • 在 GitHub 上拥有公共存储库的私有分支吗?

    我在 GitHub 存储库中有一个公共 PHP 项目 其中仅包含一个分支 主分支 我想要一个对我来说是私有的单独分支 分支 我已经为私有 GitHub 存储库付费 我希望能够将私人分支 分叉的更改合并到公共存储库 反之亦然 考虑到这一点 我
  • 在delphi 2009中创建gif动画文件?

    gif TgifImage Create gif Width 100 gif Height 100 gif AnimationSpeed 500 gif Animate true gif add image1 Picture Bitmap
  • Laravel:PDO异常,即使安装并测试了驱动程序也找不到驱动程序[重复]

    这个问题在这里已经有答案了 我正在开发一个 Laravel 5 1 项目 该项目必须连接到现有的 MS SQL Server 数据库 我的项目当前位于使用 Apache 2 4 18 的 Ubuntu 16 04 LTS 服务器上 我已在计
  • 什么时候发送HTTP状态码?

    目前 在我的 PHP 脚本中 当用户尝试访问不存在或不属于该用户的内容时 我会将用户重定向到自定义 404 未找到错误页面 就像这样 header Location http www mydomain com error notfound
  • 文件引用与文件?

    我想制作一个 Flash 应用程序 用户可以在其中从本地硬盘驱动器加载文件并将文件保存到本地硬盘驱动器 虽然我经常在 AIR 应用程序中使用File and FileStream类 我以前没有在 SWF 中这样做过 据我所知FileRefe
  • 使用“get”来访问地图有什么好处

    从这个问题跟进 按关键字进行惯用的 clojure 映射查找 https stackoverflow com questions 7034803 idiomatic clojure map lookup by keyword 使用 cloj
  • Spring Rest 和 jQuery Ajax 文件下载

    我目前正在使用 jQuery 和 Spring Rest jQuery 用于向服务器上传和下载文件 上传过程工作正常 但下载文件时没有什么问题 所以场景是 在视图中 用户将选择n个要下载的文件并单击下载按钮 一旦用户单击该按钮 文件就会被下
  • angular.js 选择输入框的过滤类型

    我使用 angular js 的时间很短 有时我有一种感觉 我对 html 和 javascript 一无所知 因为 Angular 在遇到我想象中应该的东西时 可能非常简单 这是我头痛的地方 我的电流控制器scope persons是工厂
  • 为动态加载的新元素添加tinymce

    我的页面包含 5 个 div 可以通过 Tinymce 内联编辑器进行编辑 我可以通过单击按钮 如此动态 来轻松地使用 Jquery 加载 5 个新的 但当然 新的 div 不会受到 Tinymce 的影响 因为 init 已经加载了 我怎
  • 如何在 wpf 中将 List 转换为 ObservableCollection

    我在 wpf 中 有一个通用列表 List 现在我希望将其转换为通用的可观察集合 ObservableCollection 我知道我可以迭代列表并将每个单独的项目添加到 Observable 集合中 然而 在我看来 必须有一种内置的方法来做
  • 如何自定义 JAXB 生成复数方法名称的方式?

    我们使用 JAXB 生成 Java 类 遇到了一些生成的复数方法名称不正确的情况 例如 我们期望的地方getPhysicians我们正在得到getPhysicien 我们如何自定义 JAXB 复数特定方法的方式 架构
  • 如何在SQL Server 2012中解析json数据?

    我正在使用 SQL Server 2012 我被分配了一项任务 其中我的专栏之一 JsonText 的表Sample包含 json 数据 我想通过解析该数据并将其插入到另一个表的列中 Test 我在网上搜索 openjson 在 SQL S
  • Google 地图 API 多个标记

    我正在使用以下代码来显示谷歌地图 并在地图上创建一个标记 它运作良好 我只需要在同一张地图上放置多个标记即可
  • Onclick 事件删除文本输入字段中的默认值

    我有一个输入字段