这段JS代码有些地方不懂

来源:3-8 html5约束验证API之validity演示2

黯丶晓

2018-12-22 15:35:25

<input type="number" id="numbers" oninput="checklength(this,5)" step="3">

console.log(numbers.validity);

function checklength(obj,length){

if(obj.value.length>length){

obj.value=obj.value.substr(0,length)}}

这里面的(obj,length)是什么意思?然后obj.value.length又是什么意思?还有obj.value=obj.value.substr(0,length)这一句是什么意思?


写回答

1回答

好帮手慕星星

2018-12-23

同学你好,这段代码是控制输入框中内容的长度:

http://img.mukewang.com/climg/5c1f03bd000135fe10180267.jpg

定义了一个checklength方法,有两个参数,一个是obj,调用的时候传入的是this,也就是input元素;第二个参数为length,就是想要控制的长度为5。

在方法中进行判断,obj.value也就是input元素中的value属性内容,obj.value.length就是内容的长度。如果input元素内容的长度大于参数传入的长度,就将内容使用substr()方法截取:

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

从0的位置开始截取5个长度,再赋值给input元素的value值,也就是把内容控制在5个长度。如下:

http://img.mukewang.com/climg/5c1f052600017af002380031.jpg

自己可以测试下,祝学习愉快!

0

0 学习 · 5012 问题

查看课程