【问题标题】:Input maxlength attribute ignored when inserting value with val(someValue)使用 val(someValue) 插入值时忽略输入 maxlength 属性
【发布时间】:2014-10-27 14:27:41
【问题描述】:

我一直在尝试向 HTML 输入中插入一个值,如下所示:

$("#someID").val($("#anotherID").html());

问题是$("#anotherID").html()比默认值524288

具体长度为602221

我已将 maxlength 属性设置为 52428800,但它似乎被忽略了。该值被修剪,它的长度在 524288 上,这让我觉得它根本不起作用。

这是我在控制台上查看someID 时得到的结果:

$("#someID")
[<input class=​"hidden" id=​"someID" type=​"text" name=​"someID" maxlength=​"52428800">​]

我做错了吗?该属性似乎已设置。

编辑:我正在使用 chrome,似乎 maxlength 属性不能超过 524288

【问题讨论】:

  • 来自 MDN:The constraint is evaluated only when the value of the attribute has been changed. 以编程方式更改值不会引发更改事件 - 我建议在通过 .change() 设置 val() 后手动执行此操作
  • @RoryMcCrossan 我已经尝试过你所说的在$("#someID").val($("#anotherID").html()); 之后调用.change(),长度现在为1,值仍然相同。我一定是做错了什么。

标签: jquery html maxlength


【解决方案1】:

似乎没有标准限制,但是每个浏览器都实现了一个(你不能通过 javascript 提高它)。请参阅以下答案:

https://stackoverflow.com/a/26016746/3697452

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    相关资源
    最近更新 更多