IE8 e JQuery’s trim ()

Sto facendo uso di trim () in questo modo:

if($('#group_field').val().trim()!=''){ 

Dove group_field è un elemento di input di tipo text. Funziona in Firefox ma quando provo su IE8 mi dà questo errore:

 Message: Object doesn't support this property or method 

Quando rimuovo il trim (), funziona perfettamente su IE8. Ho pensato che il modo in cui sto usando trim () sia corretto?

Grazie a tutti per qualsiasi aiuto

Prova questo invece:

 if($.trim($('#group_field').val()) != ''){ 

Ulteriori informazioni:

Dovresti usare $.trim , in questo modo:

 if($.trim($('#group_field').val()) !='') { // ... } 

Per quanto ne so, Javascript String non ha il metodo trim. Se si desidera utilizzare la funzione trim, quindi utilizzare

  

Un’altra opzione sarà quella di definire il metodo direttamente su String nel caso in cui manchi:

 if(typeof String.prototype.trim !== 'function') { String.prototype.trim = function() { //Your implementation here. Might be worth looking at perf comparison at //http://blog.stevenlevithan.com/archives/faster-trim-javascript // //The most common one is perhaps this: return this.replace(/^\s+|\s+$/g, ''); } } 

Quindi il trim funzionerà indipendentemente dal browser:

 var result = " trim me ".trim(); 

Per tagliare globalmente l’input con testo tipo usando jQuery:

 /** * Trim the site input[type=text] fields globally by removing any whitespace from the * beginning and end of a string on input .blur() */ $('input[type=text]').blur(function(){ $(this).val($.trim($(this).val())); });