458 votes

.trim() en JavaScript ne fonctionne pas dans IE

J'ai essayé d'appliquer .trim() à une chaîne de caractères dans un de mes programmes JavaScript. Cela fonctionne bien sous Mozilla, mais une erreur s'affiche lorsque je l'essaie sous IE8. Quelqu'un sait-il ce qui se passe ici ? Y a-t-il un moyen de le faire fonctionner dans IE ?

code :

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

affichage des erreurs :

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

771voto

Ben Rowe Points 15269

Ajoutez le code suivant pour ajouter la fonctionnalité de découpage à la chaîne.

if(typeof String.prototype.trim !== 'function') {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, ''); 
  }
}

202voto

jrummell Points 23718

Il semble que cette fonction ne soit pas implémentée dans IE. Si vous utilisez jQuery, vous pouvez utiliser $.trim() à la place (bien que cette option ait été dépréciée à partir de jQuery 3.5).

57voto

Dan Points 601

JQuery :

$.trim( $("#mycomment").val() );

Quelqu'un utilise $("#mycomment").val().trim(); mais cela ne fonctionnera pas sur IE.

34voto

Iain Collins Points 2296

Malheureusement, la fonction trim() n'est pas prise en charge par les différents navigateurs JavaScript.

Si vous n'utilisez pas jQuery (qui dispose d'une méthode .trim()), vous pouvez utiliser les méthodes suivantes pour ajouter la fonction de coupe aux chaînes de caractères :

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
    return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
    return this.replace(/\s+$/,"");
}

12voto

Erik Points 12282

https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Global_Objects/String/Trim

Il s'agit d'un ajout assez récent au javascript, et il n'est pas pris en charge par IE.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X