Javascript 达到最大长度限制时更改输入字段样式

Javascript 达到最大长度限制时更改输入字段样式,javascript,jquery,css,maxlength,Javascript,Jquery,Css,Maxlength,我创建了一个具有文本输入字段和maxlength设置的联系人表单。我希望当输入字符大于10时,使输入字段显示为红色 <form action="contact.php"> Username: <input type="text" name="name" maxlength="10"><br> <input type="submit" value="Submit"> </form> 用户名: 您可以使用以下内容: $("na

我创建了一个具有文本输入字段和
maxlength
设置的联系人表单。我希望当输入字符大于
10
时,使输入字段显示为红色

<form action="contact.php">
  Username: <input type="text" name="name" maxlength="10"><br>
  <input type="submit" value="Submit">
</form> 

用户名:

您可以使用以下内容:

$("name[usrname]").change(function(){
  if($(this).val().length > 10){
    $(this).css("color","red");
  }
});
    function checkUser(user){
    var number = user.length;
    if(number>10){
    document.getElementById("username").style.borderColor = "red";
   // <!-- document.getElementById("submit").disabled = true;  Disable submit button -->`enter code here`
document.getElementById("maxReached").style.visibility = "visible";
    }else {
document.getElementById("maxReached").style.visibility = "hidden";
document.getElementById("username").style.borderColor = "black";
    }
}

您可以在CSS中使用选择器:invalid

input:invalid {
    border: 1px solid #FF0000;
}

这将为所有输入元素提供一个红色边框,只要它们不符合标准(尽管如其中一条注释中所述,输入字段中的字符数永远不能超过“maxlength”)。

属性
maxlength=“10”
不允许插入超过10个字母。无论如何,您可以这样做:

$("name[usrname]").change(function(){
  if($(this).val().length > 10){
    $(this).css("color","red");
  }
});
    function checkUser(user){
    var number = user.length;
    if(number>10){
    document.getElementById("username").style.borderColor = "red";
   // <!-- document.getElementById("submit").disabled = true;  Disable submit button -->`enter code here`
document.getElementById("maxReached").style.visibility = "visible";
    }else {
document.getElementById("maxReached").style.visibility = "hidden";
document.getElementById("username").style.borderColor = "black";
    }
}

功能检查用户(用户){
var number=user.length;
如果(数量>10){
document.getElementById(“用户名”).style.borderColor=“红色”;
//”“在这里输入代码`
document.getElementById(“MaxReach”).style.visibility=“可见”;
}否则{
document.getElementById(“maxReach”).style.visibility=“hidden”;
document.getElementById(“用户名”).style.borderColor=“黑色”;
}
}

用户名:
你的标题太长了

这是不可能的,因为它首先不允许文本长度超过maxlength。我在javaScript中添加的类无效?实际上TylerH是正确的,maxlength限制了您可以输入的字符数,因此您必须使用Matheus208的解决方案并使用jQuery(或javaScript,以您喜欢的为准)。我会修改我的答案。超级,我会补充,除了指导红色文本“你的标题太长”,并指出剩余字符的数量,如何?有几种方法。这里有一个:-在javascript函数的if部分添加以下行:
document.getElementById(“maxreach”).style.visibility=“visible”
-在输入文本表单旁边添加另一行:
您的标题太长
我们添加了一条不可见的行,当字符数超过限制时会显示该行。当然,您必须在函数的else中添加一行,以便使用
visibility=“hidden”
@user3831928再次使标签不可见。如果您有问题,我可以编辑上一个答案中的代码。我希望您在上一个答案中进行更改answer@user3831928完成。希望这是你需要的!一点名声是公认的:)