文本框类型

在编写表单相关的东西的时候,通常有两个标签标示文本框:一种是单行文本框input标签,另一种是多行文本框textarea标签。这两种标签比较相似,但是他们也有区别。

如果一定要用input标签标示文本框,那么就必须在type属性中设置”text”。通过设置size属性可以指定文本框中显示字数的字符数。通过value属性,可以设置文本框的默认文字。通过maxlength属性可以指定文本框的最大字符数。小例子如下

HTML代码

然后textarea标签始终会呈现一个多行文本框。rows和cols属性可以指定文本框的行数和列数。rows属性是指定文本框的字符行数;cols是指定文本框的字符列数。小例子如下

HTML代码

梦龙小站

在textarea中并不能设置最大字符数,这是与input的一点小区别。无论这两种文本框在标记中有什么其他区别,它们都会将用户输入的内容保存在value属性中。可以通过value属性读取或者设置文本框的值。小例子如下

HTML代码

梦龙小站textarea

JavaScript代码window.onload = function(){

var oInp = document.getElementById("inp");

var oTex = document.getElementById("tex");

alert("oInp的value:"+ oInp.value +";\ntex的value:"+ tex.value)

};

Chrome预览效果

选择文本的方法

Input标签和textarea标签都支持select()方法,这个方法用于选择文本框中的所有文本。在调用select()方法的时候,大多数浏览器(除Opera)都可以将焦点设置到文本框中。这个方法不接受参数,可以在任何时候被调用。

在文本框获得焦点的时候选择这个文本框所有的文本,这种方法非常常见,特别是在文本框包含默认值的时候。因为这样做可以让用户不必一个个的删除文本。小例子如下

HTML代码

JavaScript代码window.onload = function(){

var oInp = document.getElementById("inp");

oInp.select();

};

Chrome预览效果

上面的代码应用到文本框之后,只要文本框获得焦点之后,就回选择其中所有的文本。这种技术能够较大幅度地提升表单的用户体验。

1、选择(select)事件

与select()方法相对应,有一个select事件。在选择了文本框中的文字的时候,就会触发select事件。不过,触发的时间每个浏览器都不太相同。在IE9+、Chrome、Opera、Safari和Firefox中,只有用户选择了文本(而且要释放鼠标的时候),才会触发select事件。而IE8之前的版本中,只要用户选择了一个字母(不必释放鼠标)就会触发select事件。在调用select()方法的时候也会触发select事件。小例子如下

HTML代码

JavaScript代码window.onload = function(){

var oInp = document.getElementById("inp");

//选择文本框的字

oInp.addEventListener('select',function(){

alert(oInp.value)

}, false);

};

Chrome预览效果

2、取得选择的文本

虽然通过select事件我们可以知道用户选择文本的时间,但是不知道用户选择了哪些文本。HTML5新添加的一些属性帮大家解决了这些问题。HTML5新添加了selectionStart属性和selectionEnd属性。这两个属性中保存的是基于0的数值,表示所选择的文本的范围(即文本选区开头和结尾的偏移量)。所以要取得用户在文本框中的选择文本就非常容易了。小例子如下

HTML代码

JavaScript代码window.onload = function(){

var oInp = document.getElementById("inp");

function getSelectedText(textBox){

return textBox.value.substring(textBox.selectionStart, textBox.selectionEnd);

}

//选择文本框的字

oInp.addEventListener('select',function(){

alert(getSelectedText(oInp))

}, false);

};

Chrome预览效果

上面的小例子运用了substring()方法。这个方法基于字符串的偏移量执行操作,将selectionStart和selectionEnd直接做参数传入即可得到相应的字符串。支持selectionStart属性和selectionEnd属性的浏览器有Opera、Chrome、Firefox、IE9+和Safari。IE8及更早的版本中有一个document。Selection对象,其中保存着用户在整个文档范围内选择的文本信息。

兼容IE的JavaScript代码window.onload = function(){

var oInp = document.getElementById("inp");

function getSelectedText(textBox){

if(typeof textBox.selectionStart == "number"){

return textBox.value.substring(textBox.selectionStart, textBox.selectionEnd);

)else if(document.selection){

return document.selection.createRange().text;

}

}

//选择文本框的字

oInp.addEventListener('select',function(){

alert(getSelectedText(oInp))

}, false);

};

3、选择部分文本

针对选择部分文本,HTML5也有相应的解决方法。HTML5添加了setSelectionRange()方法,这个方法早在Firefox中引入。现在除了select()方法之外,所有文本框都有一个setSelectionRange()方法。setSelectionRange()方法接收两个参数:要选择的第一个字符的索引和要选择的最后一个字符之后的字符的索引(参数类似于substring()方法的两个参数)。小例子如下。

HTML代码

JavaScript代码window.onload = function(){

var oInp = document.getElementById("inp");

var oInpValue = oInp.value;

//选择所有文本

oInp.setSelectionRange(0, oInp.value.length); //梦龙小站input

//选择前3个字符

oInp.setSelectionRange(0, 3); //梦龙小

//选择第4到第6个字符

oInp.setSelectionRange(3, 7); //站inp

};

想看到选择的文本,必须在调用setSelectionRange()方法之前和之后立即将焦点设置到选择的文本框上。在Chrome、Firefox、Opera、Safari和IE9支持上面的方法。

IE8之前的版本支持使用范围。为了实现跨浏览器编程。小例子如下。

JavaScript代码function selectText(textBox, startIndex, stopIndex){if(textBox.setSelectionRange){textBox.setSelectionRange(startIndex, stopIndex);

}else if(textBox.createTextRange){

var range = textBox.createTextRange();

range.collapse(true);

range.moveStart("character", startIndex);

range.moveEnd("character", stopIndex - startIndex);

range.select();

textBox.select();

}

};

上面selectText()方法接收三个参数:要操作的文本框、要选择的文本中第一个字符的索引和要选择文本中最后一个字符之后的索引。首先,函数检测了文本框是否包含setSelectionRange()方法。如果有,则使用setSelectionRange()方法。否则,检测文本框是否支持createTextRange()方法。如果支持,则通过创建范围来实现选择。最后,为文本框设置焦点,可以让用户看到选中的文本。小例子如下。

HTML代码

JavaScript代码window.onload = function(){

var oInp = document.getElementById("inp");

var oInpValue = oInp.value;

function selectText(textBox, startIndex, stopIndex){

if(textBox.setSelectionRange){

textBox.setSelectionRange(startIndex, stopIndex);

}else if(textBox.createTextRange){

var range = textBox.createTextRange();

range.collapse(true);

range.moveStart("character", startIndex);

range.moveEnd("character", stopIndex - startIndex);

range.select();

textBox.select();

}

}

//选择所有文本

selectText(oInp, 0, oInp.value.length); //梦龙小站input

//选择前3个字符

selectText(oInp, 0, 3); //梦龙小

//选择第4到第6个字符

selectText(oInp, 3, 7); //站inp

};

选择部分文本的技术在实现高级文本输入框的时候很有用,例如提供自动完成建议的文本框就可以使用这个技术。

HTML5实战与剖析之表单——文本框脚本就为大家介绍到这里。在HTML5实战与剖析之表单——文本框脚本中为大家介绍了文本框类型和选择文本的方法。其中HTML5中新添加了选择部分文本的方法。更多有关HTML5的相关知识敬请关注梦龙小站的相关更新。

以上就是HTML5实战与剖析之表单——文本框脚本的内容,更多相关内容请关注PHP中文网(www.gxlcms.com)!

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

html5简介的文本框,HTML5实战与剖析之表单——文本框脚本相关推荐

  1. 静态HTML网页设计作品 HTML5+CSS大作业——明星个人-赵丽颖(7页)带表单带音乐表格布局

    HTML5+CSS大作业--明星个人-赵丽颖(7页)带表单带音乐表格布局 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶. 家居. 酒店. 舞蹈. 动漫. ...

  2. css搜索的文本框,一个很不错的CSS改写的大表单文本框和搜索按钮组

    <一个很不错的CSS改写的大表单文本框和搜索按钮组>要点: 本文介绍了一个很不错的CSS改写的大表单文本框和搜索按钮组,希望对您有用.如果有疑问,可以联系我们. 先看效果图: 开始爬取 C ...

  3. html表单输入的文本框的值,网页设计关于表单输入框的技巧代码

    虽然现在有许多网页制作工具能让您轻松地完成工作,但如果使用HTML则可以得到更大控制权,下面介绍几个小技巧. 1.使用, 2018-04-14 网页表格表框制作技巧. ---------------- ...

  4. 表单文本框提示字符点击时清空

    表单文本框提示字符点击时清空(input标签onfocus时文本框内提示信息清空) 作用是,一个文本框,需要输入内容,在没有输入的时候里面有一段提示内容,当点击这个文本框输入的时候,文本框内的内容自动 ...

  5. html表格输入框怎么左移动,当我向CSS中的文本框添加边框时,HTML表单输入会移动...

    我想在登录表单上的输入字段中添加边框,但是当我添加边框时:1px纯黑色;到#登录表单输入,然后所有的文本框移出位置.当我向CSS中的文本框添加边框时,HTML表单输入会移动 当用户输入不正确的凭据到表 ...

  6. HTML5+CSS大作业——明星个人-赵丽颖(7页)带表单带音乐表格布局

    HTML5+CSS大作业--明星个人-赵丽颖(7页)带表单带音乐表格布局 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. 茶叶. 家居. 酒店. 舞蹈. 动漫. ...

  7. java文本域不可编辑_javascript:让表单 文本框 只读,不可编辑的方法

    有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使 的内容,"中国"两个字不可以修改.实现的方式归纳一下,有如下几种. 方法1: οnfοcus=this.bl ...

  8. css文本,背景,动画和html列表,表格,表单总结

    css文本标签的应用 文本 text-shadow文本阴影:1px 2px 3px color 第1个长度值用来设置对象的阴影水平偏移值.可以为负值 第2个长度值用来设置对象的阴影垂直偏移值.可以为负 ...

  9. html中的数字选框,带有复选框和数字类型的HTML表单提交与PHP?

    为了学习的目的,我在做这个网站,用户可以选择一些项目和他想要的单位数量,假设这是最简单的购物应用程序.带有复选框和数字类型的HTML表单提交与PHP? 于是,我从数据库中读取在目录中的现有项目: $q ...

最新文章

  1. 多传感器融合 | R-LINS概述
  2. 分享5个有趣的 JavaScript 代码片段
  3. 用户计算机MAC地址在哪看,怎么查看远程电脑mac地址
  4. 使用Lightbox制作照片条
  5. HTTP标准相关的基础概念
  6. Java实训项目6:GUI学生信息管理系统 - 实现步骤 - 创建项目
  7. 聪明的苹果——iPhone 3GS。
  8. php7.0不出结合项,帝国CMS结合项提示“您来自的链接不存在”
  9. ajax请求实用的封装方法
  10. 海康威视实习生面试总结
  11. SAP 软件价格体系及项目费用构成
  12. Embedding技术
  13. 使用阿里云服务器发送邮件
  14. 就在刚刚 Kubernetes 1.25 正式发布,包括这些重大变化
  15. 网页歌单html制作,网页内嵌网易云插件全程(包括生成自己歌单的外链)
  16. php手写签名保存,PHP+JS实现PC端+移动端PDF手写签名合并
  17. click延时解决方案
  18. 带水波纹的下拉刷新MaterialPullToRefresh
  19. SendMail:古老但不古板的神奇邮件系统
  20. 杭州儿童居住证续签(时间+入口)

热门文章

  1. 步骤4 - 微服务提供者接收请求,提供服务并传回给Orchestra
  2. 用Axure开发的一个智能驾驶的app原型
  3. 使用命令行工具mc上传模型训练数据到SAP云平台Leonardo机器学习服务的AWS存储
  4. 如何处理CRM_ORGMAN 300 error message
  5. 使用xslt批量修改xml 节点name
  6. Drop down list value changed
  7. SAP云平台CloudFoundry编程环境下app router的使用最佳实践
  8. CFX计算报错和相应解决办法(浮点错误等-持续更新)
  9. login组件的两种用法_Android-模块化、组件化、插件化、热修复-组件化-组件间的通信(本地,下沉,bus,路由)...
  10. python linux 优化_Python 代码性能优化技巧