2013-07-29 3 views
0

В моем файле JS внутри функции, я Готовлю как этотатрибут MaxLength не работает в IE

var x = '<span class="someclass"> 
     <textarea class="editField" maxlength="60"> 
     </textarea>  
     </span>'; 

здесь я м ограничивая размер текстовой, используя атрибут MAXLENGTH, он не работает в IE.

+0

какая версия IE у вас есть? Он работает только в IE 10. – mohkhan

+0

перейти по этой ссылке, вы получите ответ на свой вопрос [здесь] [1] [1]: http://stackoverflow.com/questions/1125482/how-to- impose-maxlength-on-textarea-in-html-using-javascript –

+0

Привет, моххан, эта проблема в IE 7 и 8 – santhosh

ответ

1

maxlength не поддерживается по номеру <textarea> во всех браузерах. В любом случае, я не думаю, что когда-либо было хорошей идеей, чтобы на самом деле заставить пользователей вводить то, что они хотят. Скажите им, что они превзойдены, но не блокируйте их.

+0

на самом деле, она поддерживается в некоторых браузерах, здесь вы можете ознакомиться здесь: http: //www.w3schools. com/tags/att_textarea_maxlength.asp Заметьте, что только IE10 поддерживает его, IE9- (и старше) не будет – Jim

+1

http://w3fools.com/, например, но в основном я сказал «не [...] во всех браузерах », что означает« да в некоторых браузерах » –

+0

спасибо Kolink и jim.but, в моем требовании мне нужно ограничить пользователя. Я добавил это на KeyPress = "return (this.value.length <60);" вместе с атрибутом maxlength.Now maxlength работает, но будет проблема, если пользователь скопирует текст – santhosh

0

это не так. IE10 теперь поддерживает максимальную длину HTML5 в текстовом поле. see here, если вам нужно ограничить длину в предыдущих версиях IE, для этого вам понадобится javascript.

0

Maxlength не поддерживается в IE. Если вы хотите ограничить доступ пользователей к неограниченным символам в IE, вам нужно будет использовать javascript для этого.

Вы можете использовать приведенный ниже сценарий, чтобы ограничить пользователей от ввода максимальных символов в textarea forIE.

window.onload = function() { 
    var txts = document.getElementsByTagName('TEXTAREA') 

    for(var i = 0, l = txts.length; i < l; i++) { 
    if(/^[0-9]+$/.test(txts[i].getAttribute("maxlength"))) { 
     var func = function() { 
     var len = parseInt(this.getAttribute("maxlength"), 10); 

     if(this.value.length > len) { 
      alert('Maximum length exceeded: ' + len); 
      this.value = this.value.substr(0, len); 
      return false; 
     } 
     } 

     txts[i].onkeyup = func; 
     txts[i].onblur = func; 
    } 
    } 
} 

И Ваше текстовое поле может быть как:

<textarea maxlength="10"></textarea> 

DEMO

0

Атрибут по MaxLength не является стандартом для в HTML 4.01. Он определен в HTML5, но, я думаю, IE не реализует его. Чтобы он работал во всех браузерах, вы можете использовать javascript. Вот чек example.please это он может помогает you..thank вы

window.onload = function() { 
var txts = document.getElementsByTagName('TEXTAREA') 

for(var i = 0, l = txts.length; i < l; i++) { 
    if(/^[0-9]+$/.test(txts[i].getAttribute("maxlength"))) { 
    var func = function() { 
    var len = parseInt(this.getAttribute("maxlength"), 10); 

    if(this.value.length > len) { 
     alert('Maximum length exceeded: ' + len); 
     this.value = this.value.substr(0, len); 
     return false; 
    } 
    } 

    txts[i].onkeyup = func; 
    txts[i].onblur = func; 
    } 
} 
} 
0

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

Во-вторых, что сказал Колинк, не пытайтесь сдержать пользователя от ввода текста, но вы можете сказать ему, что его ввод не будет принят, потому что он превышает.

Смежные вопросы