如果长度的字符串超过12个字符,则用户无法写入。这是我的脚本(“mat”是文本字段)。
window.onload = function() {
document.getElementById("mat").onchange = function() {
if ((document.getElementById("mat").value.length) > 12) {
document.getElementById("mat").value = document.getElementById("mat").value.substring(0, 12);
}
}
}
此代码正常工作,但只有在不再选择文本字段时,才会删除超过12个字符的字符。 我该怎么办?
答案 0 :(得分:5)
为什么不使用<input type="text" maxLength="12">
属性?
textarea
&#13;
从HTML 5开始,<textarea maxLength="12"></textarea>
对象也支持它:
{{1}}&#13;
答案 1 :(得分:4)
使用input
事件代替change
事件。 change
事件仅在元素模糊时触发,而input
事件在用户进行的每次更改时触发。
var mat = document.getElementById("mat");
mat.addEventListener('input', function() {
if ((mat.value.length) > 12) {
mat.value = mat.value.substring(0, 12);
}
});
&#13;
<input id="mat">
&#13;
答案 2 :(得分:1)
使用input
代替onchange
window.onload = function() {
document.getElementById("mat").oninput = function() {
if ((document.getElementById("mat").value.length) > 12) {
document.getElementById("mat").value = document.getElementById("mat").value.substring(0, 12);
}
}
}
&#13;
<input type="text" id="mat" />
&#13;