位置: 编程技术 - 正文

JavaScript文本框脚本编写的注意事项(javascript文本框获得焦点)

编辑:rootadmin

推荐整理分享JavaScript文本框脚本编写的注意事项(javascript文本框获得焦点),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript在文本框输出值,js文本框的边框怎么去掉,js文本框的边框怎么去掉,js 文本框,javascript文本框获得焦点,javascript文本框代码,javascript文本框赋值,javascript文本框代码,内容如对您有帮助,希望把文章链接给更多的朋友!

在HTML中,有两种方式来表现文本框:

一种是使用input元素的单行文本,另一种是使用textarea的多行文本框。

使用input方式,必须添加type,设置为“text”。

size特性,可以指定文本框内能够显示的字符数。 value属性可以设置文本框的初始值。 maxlength特性则是用于指定文本框内可以接受的最大字符数。

textarea的初始值则必须放在开始和结束标签之内。

cols是文本框字符行数; rows是文本框字符列数;

另外,不能在HTML中给textarea指定最大字符数;

一、选择文本

上述两种文本框都支持

select()方法,这个方法主要用于选择文本框中的所有文本。不接受任何参数。 与这个方法对应的select事件,在选择了文本框中的文本时事件触发。

1、select()方法

下面的代码是只要文本框获得焦点,就会选择全部的文本:

2、select事件

何时触发该事件:

一般情况下只有用户选择了文本(而且要释放鼠标),才会触发select事件; IE8及更早版本中,只要用户选择了一个字母(不必释放鼠标),就会触发select事件; 在调用select()方法时也会触发;

如:

3、取得选择的文本

利用两个属性:

selectionStart selectionEnd

这两个属性保存的是基于0的数值,表示所选择文本的范围(偏移量)。因此要取得用户选择的文本框中的文本,可以使用如下代码:

另外,也可以用该属性来设置当获得焦点的时候默认全选的状态:

或者:

但是,使用selectionStart/End属性时,IE8不支持,但支持另一个名为

document.selection对象,该对象保存着用户在整个文档范围内选择的文本信息

获取选择的文本的兼容版本为:

二、选择部分文本

选择部分文本的方法是:

setSelectionRange()方法。接收两个参数:要选择第一个字符的索引和最后一个字符的索引。如阻止用户选择:

要调用setSelectionRange()之前或之后立即将焦点设置到文本框。而IE中使用的方式是适用范围来解决文本的问题:

兼容版本:比较常用

三、过滤输入

1、屏蔽字符

下面的代码仅允许输入数字:

但是部分浏览器会对向上、下键、退格键触发keypress事件,所以需要对这些常用的操作键取消禁止,只要不屏蔽那些字符编码小于的键即可:

JavaScript文本框脚本编写的注意事项(javascript文本框获得焦点)

四、操作剪贴板

以下是6个剪贴板事件

beforecopy:在发生复制操作前触发 copy:在发生复制时触发 beforecut:在发生剪贴前操作 cut:在发生加贴时操作 beforepaste:在发生黏贴操作前触发 paste:在发生黏贴操作时触发

如设置禁止拷贝:

要访问剪贴板中的数据,可以使用clipboardData对象,在IE中,这个对象是window对象的属性,在friefox,safari和chrome,这个对象是相应event对象的属性;在IE中可以随时访问该对象;但在其他浏览器中只有在处理剪贴板事件期间才有效。

这个clipboardData对象有三个方法:

getData() setData() clearData()

getData()接收一个参数,即要取得数据的格式(IE中有两种数据格式:text和URL;在其他浏览器中这个参数是一种MIME类型;不过可以用text代替text/plain)。

setData()接收两个参数,即数据类型和要放在剪贴板中的文本。(第一个参数中,IE支持text和URL;第二个参数中chrome和safari不支持text类型);这两个浏览器在成功将文本放到剪贴板中后,都会返回true;否则,返回false:

目前浏览器逐渐收紧对访问剪贴板的操作。

五、自动切换焦点

理论上就是在前一个文本框中的字符打到最大数量后,自动将焦点切换到下一个文本框:

DOM:

js:

六、HTML5约束验证API

1、必填字段required属性

在必填字段中添加属性required。它适用于input,textarea,select字段。使用下面的代码可以检测浏览器是否支持required属性:

2、其他输入类型

input的type属性增加了“email”和“url”;各浏览器也都为它们增加了定制的验证机制:

3、数值范围

除了“email”和“URL”,HTML5还定义了另外几个输入元素。这几个元素都要求填写基于数字的值:“number”,“range”,“datetime”,“datetime-local”,“date”,“mouth”,“week”,“time”。目前浏览器对这些类型支持并不好,如果真想使用的话要小心。

对这事数值类型的输入元素可以指定min属性,max属性,step属性。同时这些数值类型元素还有两个方法:stepUp(),stepDown()。都接受一个参数,要在当前基础上加上或减去的数值。

DOM:

js:

3、输入模式

HTML5新增了pattern属性,这个属性的值是一个正则表达式,用于匹配文本框中的值。

可以使用以下代码来检测浏览器是否支持pattern属性:

4、检测有效性

使用checkValidity()方法可以检测表单中的字段是否有效。所有表单的字段都有这个方法,如果检查有效返回true。

input的validity属性会给出什么字段有效和无效的具体信息。

validity主要包括下列属性:

customError:是否设置了setCustomValidity(); patternMismatch:是否与pattern属性匹配; rangeOverflow:是否比max值大; rangeUnderflow:是否比min值小; stepMisMatch:步长是否合理; tooLong:是否超过了maxlength; typeMismatch:是否不是mail类型和url类型; valid:如果这里的其他属性都是false,返回true; valueMissing:如果为required中没有值,返回true。

5、禁用验证

通过设置表单的novalidate属性,可以是表单不进行验证。用js获取form之后,设置它的novalidate属性为true,会禁用表单验证。

在提交按钮上添加formnovalidate属性,会不验证提交表单。用js获取submit按钮之后,设置它的formnovalidata属性为true,会禁用表单验证并提交。

标签: javascript文本框获得焦点

本文链接地址:https://www.jiuchutong.com/biancheng/382772.html 转载请保留说明!

上一篇:详解js私有作用域中创建特权方法(js class 私有方法)

下一篇:JavaScript数组的一些奇葩行为(javascript数组的常用方法)

  • 印花税申报是含税收入还是不含税收入
  • 留抵税额是什么意思啊
  • 税前利润计算公式变动成本法
  • 个体户开公账户需要什么资料
  • 个人所得税专项扣除子女教育标准
  • 购入包装物计入
  • 股东费用如何入账
  • 无偿使用房屋
  • 其他应收款用什么表示
  • 抵押贷款合同印花税怎么算
  • 建筑公司支付给个人的劳务费计入什么科目
  • 支付资金占用费怎么记账进项税
  • 非营利机构收到专用发票
  • 费用发票的种类
  • 医院食堂承包方案的实施细则
  • 商品进销差价进哪个科目
  • 技术维护费属于劳务还是研发和技术服务
  • 风险纳税人原因查询
  • 固定资产折旧方法可以变更吗
  • 什么时候计提减值
  • 简易征收企业所得税几个点
  • 打官司收案是什么意思
  • 哪些税费不适用征管法?
  • 银行存款明细账怎么登记及范本
  • 因为担保被起诉怎么办
  • 利润表中的减是什么意思
  • 预付账款收到发票的会计分录
  • 使用本地账户登录什么意思
  • 权益法下对投资者的要求
  • 给员工小孩买礼物合适吗
  • win7 右键 没反应怎么办
  • 辅助生产车间工人工资
  • 用ghost装win10
  • 每季度预缴所得税怎么算
  • php_fpm
  • 东洛锡安的金黄麦田,苏格兰 (© Scott Masterton/plainpicture)
  • 没有资质证书的公司可靠吗?
  • 捐钱扶贫
  • cjzc框架
  • 第一季度季初资产总额和第一季度季末同一个数吗
  • javaweb.xml配置文件
  • ChatGPT在热门行业的应用场景有哪些
  • flex布局用法
  • mysql 临键锁
  • 人力资源增加什么资金积累
  • 现金折扣什么时候冲减收入
  • 如何修改mysql
  • 最好最实用的织毛线
  • 金税盘怎么向分盘分配发票
  • 入伙退伙协议要盖章吗
  • sql删除表中的某一行
  • 新增项目和延续项目
  • 农副产品收购分录
  • 汇兑损益计入营业外收入吗
  • 预存返现活动规则
  • 资产季末值
  • 企业积分是什么意思
  • 劳务费需要通过应付职工薪酬科目核算吗
  • 根据企业会计准则第4号固定资产,企业可选用的折旧方法
  • VMWare linux mysql 5.7.13安装配置教程
  • mysql分页实现
  • ubuntu20 server
  • centos6.5关闭休眠
  • win102021年1月大更新
  • centos 添加服务
  • win8.1技巧
  • 如何用u盘安装win8操作系统
  • linux图形界面与命令行
  • win10回收站设置
  • windows8介绍
  • 微信小程序顶部导航栏怎么做
  • 游戏开发主要学什么
  • python获取当前路径的方法
  • 给shell脚本传参数
  • Android 5.1 API 22 所有sdk文件下载地址
  • Warning: Build-tool 17.0.0 is missing AAPT at F:adt-bundle-windows-x86sdk
  • jquery.data
  • 河南地税网上个税怎么交
  • 预约怎么缴费
  • 收取广告费收入怎么入账
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设