问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JS怎么控制文本框输入的长度?

发布网友 发布时间:2022-04-24 17:33

我来回答

2个回答

懂视网 时间:2022-04-23 00:48

下面我就为大家分享一篇实时监控文本框输入字数的实例代码,具有很好的参考价值,希望对大家有所帮助。

需求:实时监控文本输入框的字数,并加以限制

1、实时监控当前输入字数,直接使用onkeyup事件方法,给输入框加maxlength属性限制长度。如:

<p>
 <textarea id="txt" maxlength="10"></textarea>
 <p><span id="txtNum">0</span>/10</p>
 </p>
var txt = document.getElementById("txt");
 var txtNum = document.getElementById("txtNum");
 txt.addEventListener("keyup", function(){
 txtNum.textContent = txt.value.length;
 })

此时已可以完成基本的监控功能,存在的问题:当输入英文时正常,但输入中文时,监控的数字会随拼音长度而变化。

2、解决方法:

compositionstart 事件触发于一段文字的输入之前(类似于 keydown 事件,但是该事件仅在若干可见字符的输入之前,而这些可见字符的输入可能需要一连串的键盘操作、语音识别或者点击输入法的备选词)。

compositionend 就是对应的就是一段文字输入的事件。

这两个属性有点类似于“开关”,如:开始进行中文输入的拼音时开关打开,不在改变监测得到的长度数值,完整输入一个或是一串文字后,开关关闭,得到监测的数值长度。

var txt = document.getElementById("txt");
 var txtNum = document.getElementById("txtNum");
 var sw = false; //定义关闭的开关
 txt.addEventListener("keyup", function(){
 if(sw == false){
 countTxt();
 }
 });
 txt.addEventListener("compositionstart", function(){
 sw = true;
 });
 txt.addEventListener("compositionend", function(){
 sw = false;
 countTxt();
 });
 function countTxt(){ //计数函数
 if(sw == false){ //只有开关关闭时,才赋值
 txtNum.textContent = txt.value.length;
 }
 }

在vue中的写法:

template:

<textarea name="suggestions-text" id="textarea" cols="30" rows="10" maxlength="300" v-on:keyup="write()" v-on:compositionstart="importStart()" v-on:compositionend="importEnd()" v-model="textContent"></textarea>
<p class="counterNum">{{conterNum}}/300</p>

data:

textContent: '',
conterNum: 0,
chnIpt: false,

methods:

write() {
 let self = this;
 if (self.chnIpt == false) {
 self.conterNum = self.textContent.length;
 }
},
importStart() {
 this.chnIpt = true;
},
importEnd() {
 this.chnIpt = false;
 this.write();
}

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

使用axios封装fetch方法和调用

在JS中Map和ForEach的区别有哪些?

在vue中如何实现页面加载进度条组件

javascript该如何实现获取日期段内每天不同的价格

在vue中如何实现图片loading组件

为什么Node.js会成为Web应用开发?

在javascript中如何实现最长公共子序列

热心网友 时间:2022-04-22 21:56

JS控制文本框输入的长度的方法如下:

1、html页面中有以下文本:
<input id="groupidtext" type="text" style="width: 100px;" maxlength="6" /></td>


2、用js*输入的最大长度的脚本如下:
$(function)
$('#groupidtext').on {'input', function(e) } 

if(this.value.length === 6) { //如果输入长度等于6,则禁用输入} 

$('input[type="submit"]').prop('disabled', false);
else 
$('input[type="submit"]').prop('disabled', true);

js*文本框输入的长度为18位字符, 只能是数字和字母,如果输入的字符超过18位就不能在输入了。

这个无需JS,用input text标签的maxlength属性即可实现。                                              代码如下:

<input type="text" maxlength="18" />

maxlength 属性后面设置需要*的字段最大长度即可。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
蚂蚁泡酒适合哪些人喝 蚂蚁酒的功效与禁忌蚂蚁酒的功效与作用 热血无赖卡怎么办 了解这两方面内容 益生菌孕妇 孕妇能喝益生菌吗 羽毛球双打底线是内线还是外线 为什么泰国两位尊者有不死之身 秦始皇活了多少岁?当了几年皇帝? DELL电脑D630.PP18L2手机。才用了4个多月。多少钱我可以买呢,麻烦谁说... dellpp18l现在买多少钱 16岁女学生 中分中短发 发尾内卷好看吗? js验证输入值只能为汉字 js如何获取input输入框中输入的值? 中短卷发怎么扎好看 js怎么控制文本框只能输入数字 js输入input文本内容 js输入一个用户名文本框怎样在点击时让它下面出现提示信息呢?_百度... js如何写输入输出 JS中常用的输入输出语句都有什么?详细的说明一下。 巴黎世家老爹鞋意产和国产区别 老爹鞋哪个牌子的好些啊 为什么最近老爹鞋这么火? 你如何评价老爹鞋? 为什么那么多人喜欢穿老爹鞋? 什么类型的女生适合老爹鞋? 坐便器冲水阀的更换方法 坐便器冲水阀工作原理 马桶冲水阀坏了怎么安装? 坐便器的进水阀不同品牌可以通用吗 宜家地毯怎么清洗 幼儿园要怎么做安全管理 用js里怎么写输入框 想找一个中短侧分的内卷梨花发型!没有刘海,不中分,好看吗? JS怎么用输入框输入函数的参数? 中短发型怎么烫 最新卷发设计(全文) 怎么用JS,向输入文本 急!!中短发(在肩上高一点)发质细软,想烫个发尾内卷,用冷烫还是热烫?哪个要花时间短? 在什么样的情况下银行必须到外部筹集资本?途径有哪些? 怎么用JS输入HTML代码? 你对于当代大学生普遍内卷有什么看法? 农行引进什么战略投资者为什么格外引人关注 js如何获取input输入框中输入的值 js控制文本框输入内容 向内卷卷一圈半是什么发型 js 输入整数 中国信达何时引进战略投资者? 想找一个中短发侧分的内卷发型图片!没有刘海! 在js在怎样获取用户输入在中的值? 只有发尾稍微有点内卷的卷发叫什么卷发啊? js怎么获取input的输入的值? 想找一个中短发没有刘海的内卷发型图片!