Входной атрибут maxlength игнорируется при вставке значения с помощью val (someValue)

Я пытался вставить значение во ввод 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">​]

Я делаю что-то неправильно? Атрибут вроде бы установлен.

РЕДАКТИРОВАТЬ: я использую хром, и кажется, что атрибут maxlength не может быть увеличен до 524288


person Bruno Follon    schedule 27.10.2014    source источник
comment
Из MDN: The constraint is evaluated only when the value of the attribute has been changed. Программное изменение значения не вызывает события изменения - я бы посоветовал сделать это вручную после установки val() через .change()   -  person Rory McCrossan    schedule 27.10.2014
comment
@RoryMcCrossan Я пробовал то, что вы сказали, вызывая .change() после $("#someID").val($("#anotherID").html());, и теперь длина равна 1, а значение остается прежним. Я, должно быть, делаю что-то не так.   -  person Bruno Follon    schedule 27.10.2014


Ответы (1)


Кажется, что нет стандартного лимита, но тот, который реализует каждый браузер (и вы не можете его повысить с помощью javascript). См. Следующий ответ:

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

person Bilk    schedule 27.10.2014