Как правильно очистить maxlength в input?
Как известно, если в HTML-коде у поля input не проставлен атрибут/свойство maxlength=..., то данный input не накладывает ограничений на длину вводимого текста. Но если в поле уже было проставлено какое-то ограничение, то как его снять? т.е. отменить? Я почему-то думал, что надо (как во многих системах) присвоить ему 0, или пустую строку. И вот что получилось в результате:
при присвоении нуля свойству инпут.maxLength в броузерах происходит следующее: 1.IE - длина становится = 0 и инпут не позволяет вводить ни один символ (можно использовать для имитации режима read-only) 2.FireFox - ведет себя также как IE 3.Google Chrome - длина становится = 524288 ! 4.Opera - ведет себя прикольно: показывает, что значение maxLength = 0, но на самом деле оно остается тем, что было присвоено ранее (например, 10) Так как же очистить правильно? |
Цитата:
|
А если поробывать вот-так
input.removeAttribute("max-length"); или вот так input.maxLength = -1; |
ребята... ну конечно же я всё это проверил... просто не стал сюда писать/захламлять "статистическими исследованиями"
input.maxLength = ''; input.maxLength = undefined; input.removeAttribute("max-length"); input.maxLength = -1; // и даже пробовал это: delete(input.maxLength); Это всё ведет себя по-разному в разных броузерах, но не выполняет задуманного - не снимает ограничение длины ввода. А вы это проверяли? |
Цитата:
|
var removeMaxLength = function ((){ var maxLength = document.createElement("input").maxLength; return function( input ) { try { input.maxLength = maxLength; } catch ( e ) { input.setAttribute("maxlength", maxLength); } }; })(); Работает во всех IE, chrome последний, FF4 и какая-то Opera |
1. Почему-то у меня javascript ругался на вот это: function ((){
2. Откровенно говоря, не очень понял, как работает Ваш скрипт, особенно меня беспокоит постоянное создание элемента document.createElement("input") - не будет никакого накопления памяти? 3. Я перестал тратить время на эти исследования и сделал одной строчкой: input.maxLength = 8000; - все-равно ни одно поле в таблице не примет больше (ограничение базы). 4. Спасибо, что потратили на меня время. |
Цитата:
"интересно девки пляшут" Цитата:
Цитата:
т.е. нет, не будет, короче говоря |
melky, спасибо большое. Просто не там скобку поставил.
|
Цитата:
|
Часовой пояс GMT +3, время: 11:25. |