Jquery 使用val(someValue)插入值时忽略Input maxlength属性
我一直在尝试在HTML输入中插入一个值,如下所示:Jquery 使用val(someValue)插入值时忽略Input maxlength属性,jquery,html,maxlength,Jquery,Html,Maxlength,我一直在尝试在HTML输入中插入一个值,如下所示: $("#someID").val($("#anotherID").html()); 问题是$(“#anotherID”).html()比默认值524288 具体而言,长度为602221 我已将maxlength attibute设置为52428800,但它似乎被忽略。该值被修剪,长度为524288,这让我觉得它根本不起作用 这是我在控制台上检查someID时得到的结果: $("#someID") [<input class="hidd
$("#someID").val($("#anotherID").html());
问题是$(“#anotherID”).html()
比默认值524288
具体而言,长度为602221
我已将maxlength attibute设置为52428800,但它似乎被忽略。该值被修剪,长度为524288,这让我觉得它根本不起作用
这是我在控制台上检查someID
时得到的结果:
$("#someID")
[<input class="hidden" id="someID" type="text" name="someID" maxlength="52428800">]
$(“someID”)
[]
我做错什么了吗?属性似乎已设置
编辑:我使用的是chrome,似乎maxlength属性不能超过524288。似乎没有标准限制,但每个浏览器都实现了这个限制(你不能通过javascript提高)。请参见以下答案:
来自MDN:
仅当属性的值已更改时才计算约束。
以编程方式更改该值不会引发更改事件-我建议在通过设置val()
后手动执行此操作。change()
@rorymcrossan我尝试了您所说的调用.change()
在$(“#someID”).val($(“#anotherID”).html());
之后,长度现在是1,值仍然相同。我一定是做错了什么。