代码之家  ›  专栏  ›  技术社区  ›  Brian Ramsay

我可以在css中指定maxlength吗?

  •  75
  • Brian Ramsay  · 技术社区  · 16 年前

    我可以用CSS中的某些内容替换maxlength属性吗?

    <input type='text' id="phone_extension" maxlength="4" />
    
    8 回复  |  直到 8 年前
        1
  •  61
  •   edeverett    16 年前

    不需要。这需要在HTML中完成。如果需要的话,可以用javascript设置值。

        2
  •  119
  •   user151323    16 年前

    不。

    maxlength用于行为。

    CSS用于样式。

    这就是原因。

        3
  •  11
  •   Community CDub    11 年前

    可以使用jquery,如下所示:

    $("input").attr("maxlength", 4)
    

    这是一个演示: http://jsfiddle.net/TmsXG/13/

        4
  •  6
  •   Charlie Gevious    16 年前

    我不认为你可以,而CSS应该描述页面的外观,而不是它的功能,所以即使你可以,它也不是你应该如何使用它。

    也许您应该考虑使用jquery将公共功能应用于表单组件?

        5
  •  4
  •   JMP    16 年前

    没有CSS,没有。

        6
  •  3
  •   code_burgar    16 年前

    不使用CSS,但您可以使用JavaScript模拟和扩展/自定义所需的行为。

        7
  •  2
  •   Taylor Brown    8 年前

    正如其他人所回答的,目前没有任何方法可以将maxlength直接添加到css类中。

    然而,这个创造性的解决方案可以实现你想要的。

    我在一个名为maxlength.js的文件中有jquery,我在站点(site.master for asp)中引用它。

    运行代码片段以查看其实际运行情况,效果良好。

    jquery、css、html:

    $(function () {
        $(".maxLenAddress1").keypress(function (event) {
    
            if ($(this).val().length == 5) { /* obv 5 is too small for an address field, just want to use as an example though */
                return false;
            } else {
                return true;
            }
    
        });
    });
    .maxLenAddress1{} /* this is here mostly for intellisense usage, but can be altered if you like */
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    
    <input type="text" class="maxLenAddress1" />

    使用此字段的优点:如果确定了此类型字段的最大长度,则需要在整个应用程序中将其推出或插入,您可以在一个位置更改它。对于客户代码、全名字段、电子邮件字段以及应用程序中常见的任何字段,字段长度都非常方便。

        8
  •  0
  •   Livius Rohit    11 年前

    使用 $("input").attr("maxlength", 4) 如果您使用的是jquery版本<1.6 和 $("input").prop("maxLength", 4) 如果您使用的是jquery 1.6+版。