.trim () в JavaScript не работает в IE - PullRequest
455 голосов
/ 22 февраля 2010

Я пытался применить .trim() к строке в одной из моих программ JavaScript.Он работает нормально под Mozilla, но появляется ошибка, когда я пытаюсь сделать это в IE8.Кто-нибудь знает, что здесь происходит?Можно ли как-нибудь заставить его работать в IE?

код:

var ID = document.getElementByID('rep_id').value.trim();

ошибка:

Message: Object doesn't support this property or method
Line: 604
Char: 2
Code: 0
URI: http://test.localhost/test.js

Ответы [ 14 ]

0 голосов
/ 23 марта 2017

Это из-за ошибки опечатки getElementBy ID . Измените его на getElementById

0 голосов
/ 17 декабря 2015

Эта проблема может быть вызвана тем, что IE использует режим совместимости на сайтах интрасети. Есть два способа решения этой проблемы: вы можете либо обновить IE, чтобы не использовать режим совместимости на локальном компьютере (в IE11: Инструменты-> Настройки просмотра совместимости -> Снимите флажок Отображать сайты интрасети в представлении совместимости)

Еще лучше, вы можете обновить мета-теги на своей веб-странице. Добавить в:

...
<head>
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
...

Что это значит? Это говорит IE, чтобы использовать последний режим совместимости. Более подробная информация доступна в MSDN: Указание устаревших режимов документов

0 голосов
/ 25 февраля 2011

Только что обнаружил, что IE перестает поддерживать trim(), возможно, после недавнего обновления Windows. Если вы используете dojo, вы можете использовать dojo.string.trim(), он работает кроссплатформенно.

0 голосов
/ 13 мая 2010
var res = function(str){
    var ob; var oe;
    for(var i = 0; i < str.length; i++){
        if(str.charAt(i) != " " && ob == undefined){ob = i;}
        if(str.charAt(i) != " "){oe = i;}
    }
    return str.substring(ob,oe+1);
}
...