使用纯JAVASCRIPT阻止用户在特定字符限制后键入输入字段

使用纯JAVASCRIPT阻止用户在特定字符限制后键入输入字段,javascript,Javascript,我必须使用JS。这是一份作业 这是我的代码: var bio = document.getElementById('bio'); var charsLeft = document.getElementById('charsLeft'); bio.onkeypress = function(evt) { evt = evt || window.event; var remaining; var perm = bio.value; remaining = 139 -

我必须使用JS。这是一份作业

这是我的代码:

var bio = document.getElementById('bio');
var charsLeft = document.getElementById('charsLeft');
bio.onkeypress = function(evt) {
    evt = evt || window.event;
    var remaining;
    var perm = bio.value;
    remaining = 139 - bio.value.length;
    charsLeft.innerHTML = remaining;
    if (remaining == 0) {
        bio.value = perm;
    }
}
它不会阻止用户在charsLeft为0后键入内容

请不要将此标记为重复


这是我能找到的唯一纯JAVASCRIPT方法

您实际上不需要JAVASCRIPT来实现这一点:

<input type="text" name="fieldname" maxlength="100">

您可以使用此脚本

<script language="javascript" type="text/javascript">
function limitText(limitField, limitCount, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } else {
        limitCount.value = limitNum - limitField.value.length;
    }
}
</script>

函数limitText(limitField、limitCount、limitNum){
如果(limitField.value.length>limitNum){
limitField.value=limitField.value.substring(0,limitNum);
}否则{
limitCount.value=limitNum-limitField.value.length;
}
}

我必须使用javascript。我没有使用HTML方法。@Ianardo为什么必须这样做?因为您可以随时检查元素并对其进行更改。@Ianardo您也可以使用JavaScript来实现这一点!这是客户端!如果我更改输入控件的id,您的javascript也将停止工作。只需像允许在此处键入最多5个字符一样使用。附加一个输入事件。在输入时,确保输入值的长度不超过限制。如果是,请取消该事件。@user2584538我必须使用javascript。@AndrewLi“输入”事件是什么意思?错误似乎来自这一行:
bio.value=perm因为如果我添加警报或以任何其他方式更改值,它都可以正常工作。