当前位置:网站首页>表单文本框的使用(一) 选择文本
表单文本框的使用(一) 选择文本
2022-07-03 14:31:00 【赤蓝紫】
表单文本框的使用(一) 选择文本
小技能
通过 document.forms来获取所有的表单元素通过 form.elements来获取表单的所有表单元素表单有用的属性 tabIndex:数值,表示该表单字段在按Tab键时的切换顺序,默认顺序是从小到大
<form action="">
<input type="text" tabindex="1">
<input type="text" tabindex="3">
<input type="text" tabindex="2">
</form>

文本框
文本框有两种:
input:单行文本框。size属性指定宽度,表示一次可显示的字符数(实际能显示多一点);maxlength属性指定最多字符数;value属性指定文本框的初始值。textarea:多行文本框。rows指定文本框的高度;cols指定文本框的宽度,不支持size属性。初始值应在<textarea>和</textarea>之间,使用value指定无效。
input和textarea都会在value属性保存自己的内容,可设置和读取文本框的值。在textarea中设置value属性无效
<div class="input-box">
<input type="text" value="clz" size="10" maxlength="10">
</div>
<div class="txa-box">
<textarea type="textarea" rows="4" cols="8" maxlength="20">clz</textarea>
</div>
选择文本
select方法
文本框有一个select方法,可以选中文本框中全部内容,在调用该方法时会自动将焦点设置到文本框。
<body>
<div class="input-box">
<input type="text" value="clz" size="10" maxlength="10">
</div>
<div class="txa-box">
<textarea value="123" rows="4" cols="8" maxlength="20">clz</textarea>
</div>
<button onclick="myclick()">选中多行文本框内容</button>
<script>
const txa = document.getElementsByTagName('textarea')[0]
function myclick(e) {
txa.select()
}
</script>
</body>
select事件
当选中文本框中的文本时,会触发select事件。select事件会在用户选择完文本后立即触发(IE老版本除外)。
<body>
<div class="txa-box">
<textarea value="123" rows="4" cols="8" maxlength="20">clz</textarea>
</div>
<script>
const txa = document.getElementsByTagName('textarea')[0]
txa.addEventListener('select', (e) => {
console.error('选中内容了')
})
</script>
</body>

取得选中文本
上面我们只是选中了文本,但是不知道选中了什么。HTML5进行了扩展,添加了两个属性selectionStart和selectionEnd。分别是文本选取的起点和终点。
txa.addEventListener('select', (e) => {
console.error('选中内容了')
console.log(e.target.selectionStart)
console.log(e.target.selectionEnd)
})

所以可以直接使用slice方法得到选中文本。
txa.addEventListener('select', (e) => {
console.error('选中内容了')
console.log('选中文本: ', txa.value.slice(txa.selectionStart, txa.selectionEnd))
})

边栏推荐
- Exercise 10-1 judge the three digits that meet the conditions
- 中感微冲刺科创板:年营收2.4亿净亏1782万 拟募资6亿
- SSH访问控制,多次失败登录即封掉IP,防止暴力破解
- Zhonggan micro sprint technology innovation board: annual revenue of 240million, net loss of 17.82 million, proposed to raise 600million
- Leetcode(4)——尋找兩個正序數組的中比特數
- Facebook 如何将 Instagram 从 AWS 搬到自己的服务器
- How Facebook moves instagram from AWS to its own server
- 愉悦资本新双币基金近40亿元完成首次关账
- 7-11 calculation of residential water charges by sections
- String substitution
猜你喜欢

556. The next larger element III

Exercise 6-1 classify and count the number of characters

Similarities and differences between Allegro, OrCAD, net alias, port, off page connector and how to select them

Concat and concat_ Ws() differences and groups_ Use of concat() and repeat() functions

如何查询淘宝天猫的宝贝类目
![洛谷P4047 [JSOI2010]部落划分 题解](/img/7f/3fab3e94abef3da1f5652db35361df.png)
洛谷P4047 [JSOI2010]部落划分 题解

Exercise 10-6 recursively find Fabonacci sequence

Happy capital new dual currency fund nearly 4billion yuan completed its first account closing

adc128s022 ADC verilog设计实现

Tailing rushes to the scientific and Technological Innovation Board: it plans to raise 1.3 billion, and Xiaomi Changjiang is the shareholder
随机推荐
Concat and concat_ Ws() differences and groups_ Use of concat() and repeat() functions
The mail function of LNMP environment cannot send mail
全文检索引擎Solr系列—–全文检索基本原理
ShowMeBug入驻腾讯会议,开启专业级技术面试时代
Mongodb index
Convert string to decimal integer
China PETG market forecast and Strategic Research Report (2022 Edition)
Find specified characters
MySQL multi table query subquery
天谋科技 Timecho 完成近亿元人民币天使轮融资,打造工业物联网原生时序数据库
concat和concat_ws()区别及group_concat()和repeat()函数的使用
Etcd cluster permission management and account password usage
Zhonggan micro sprint technology innovation board: annual revenue of 240million, net loss of 17.82 million, proposed to raise 600million
etcd集群权限管理和账号密码使用
Thread. Sleep and timeunit SECONDS. The difference between sleep
泰凌冲刺科创板:拟募资13亿 国家大基金与小米长江是股东
7-4 BCD decryption (10 points)
tonybot 人形机器人 查看端口并对应端口 0701
String substitution
使用并行可微模拟加速策略学习