Erro ao acessar sistema somente no Internex Explorer do 8 para baixo

Bom dia,

Estamos implementando um sistema de doações na empresa, mais ele está com problemas nos browsers do IE 8 para baixo, o IE9, o Crhome e o Firefox funcionam.

esta é a aplicação: https://www.fao.org.br/doacoes/

Alguem poderia me dar uma luz?

Ps> como eu posso colocar o codigo para vcs olharem?

posta ai o codigo

var dsplit = $( ‘#divvy-split’ );
var dflexbtn = $( ‘#divvy .flexbtn’ );
var amt = $( ‘#tamount’ );
var contribution = 0;
var rawcontribution = ‘0’;

function validamount( a )
{
if ( typeof( a ) == ‘number’ ) return true;
a = a.replace( ‘R$’, ‘’ );
return /^\d+[.;]$/.test( a ) || /^\d+$/.test( a ) || /^\d*[.,]\d+$/.test( a ) || /^\d*[.,]\d+$/.test( a ) || /^(\d[.,]|\d\d[.,])?(\d\d\d[.,])*\d\d\d([.,]\d+)?$/.test( a );
}

function cleanamount( a )
{
if ( typeof( a ) == ‘number’ ) return a;
a = a.replace( ‘R$’, ‘’ );
a = a.replace( ‘,’, ‘.’ );
a = parseFloat( a );
return a;
}

function keychange()
{
var a = amt.val();
contribution = validamount( a ) ? cleanamount( a ) : 0;
rawcontribution = a;
if( $( ‘.slider-container’ ).length > 0 )
{
updatesliders();
}
}

function setcontribution( c )
{
contribution = validamount( c ) ? cleanamount( c ) : 0;
rawcontribution = c;

if( $( '.slider-container' ).length > 0 )
{
	updatesliders();
}

}
amt.change( keychange ).keydown( keychange ).keyup( keychange );

var splits = {
‘default’: {
‘africa’: 0.50,
‘asia’: 0.50
}
};

var sliders = [ {
name: ‘africa’,
percent: $( ‘.porcento-africa’ ),
amount: $( ‘#quantia-africa’ ),
slider: $( ‘.slider-africa’ )
},
{
name: ‘asia’,
percent: $( ‘.porcento-asia’ ),
amount: $( ‘#quantia-asia’ ),
slider: $( ‘.slider-asia’ )
},
];

var max = 2500;
var slidernum = sliders.length;
var time = 0;
var timeout = -100;

function moveothersliders( index, val )
{
var sum = 0;
for( var i = 0; i < slidernum; i++ )
{
if( i == index ) continue;
sum += sliders[ i ].slider.slider( ‘value’ );
}
var mult = ( max - ( val ? val : sliders[ index ].slider.slider( ‘value’ ) ) ) / sum;
for( var i = 0; i < slidernum; i++ )
{
if( i == index ) continue;
sliders[ i ].slider.slider( ‘value’, sliders[ i ].slider.slider( ‘value’ ) * mult );
}
updatesliders();
}

var slideslide = function( e, ui, index )
{
if( time + 20 > e.timeStamp ) return;
clearTimeout( timeout );
timeout = setTimeout( function() {moveothersliders( index );}, 20 );
time = e.timeStamp;
moveothersliders( index, ui.value );
};

for( var i = 0; i < slidernum; i++ )
{
( function( i )
{
sliders[ i ].slider.slider( {
min: 1, max: max, value: max/slidernum,
start:function( e, ui )
{
dflexbtn.removeClass( ‘active’ );
dsplit.val( ‘custom’ );
$( ‘#div-custom’ ).addClass( ‘active’ );
},
slide:function( e, ui ) {return slideslide( e, ui, i );}
} );
} )( i );
}

setsliders( ‘default’ );

var mostdifferent = function()
{
var largest;
for( var i = 0; i < slidernum; i++ )
{
if( !largest || sliders[ i ].difference > largest.difference )
largest = sliders[ i ];
}
return largest;
}

function updatesliders()
{
var total = 0;
for( var i = 0; i < slidernum; i++ )
{
var v = sliders[ i ].slider.slider( ‘value’ );
if( v < 10 ) v = 0;
total += v;
}

for( var i = 0; i < slidernum; i++ )
{
	var v = sliders[ i ].slider.slider( 'value' );
	if( v < 10 ) v = 0;
	var p = v / total;
	var d = Math.floor( 1000000 * p ) / 10000;
	var da = Math.floor( contribution * p * 100 );
	sliders[ i ].percent.val( d );
	sliders[ i ].discreteamount = da;
	sliders[ i ].difference = ( p * contribution * 100 ) - da;
}

sum = 0;
for( var i = 0; i < slidernum; i++ )
{
	sum += sliders[ i ].discreteamount;
}

difference = Math.round( contribution * 100 - sum );

for( var i = difference; i >= 1; i -= 1 )
{
	var md = mostdifferent();
	md.difference -= 1;
	md.discreteamount += 1;
}

for( var i = 0; i < slidernum; i++ )
{
	sliders[ i ].amount.text( 'R$ ' + prettymoney( sliders[ i ].discreteamount / 100 ) );
}

}

function prettymoney( c )
{
c = ‘’ + c;
c = c.split( ‘.’ );
c.push( ‘00’ );
if( c[ 1 ].length == 1 ) c[ 1 ] += ‘0’;
return c[ 0 ] + ‘,’ + c[ 1 ];
}

function setsliders( newsplit, animate )
{
newsplit = splits[ newsplit ];
if( !newsplit ) return;
if( animate === undefined ) animate = true;
for( var i = 0; i < slidernum; i++ )
{
if( animate ) sliders[ i ].slider.slider( ‘option’, ‘animate’, ‘slow’ );
sliders[ i ].slider.slider( ‘value’, max * newsplit[ sliders[ i ].name ] );
sliders[ i ].slider.slider( ‘option’, ‘animate’, true );
}
updatesliders();
}

function setupPaymentField()
{
$( ‘#outroValor’ ).focus( function() {
$( ‘#Transacoes_valorDoacao_4’ ).attr( ‘checked’, true );
} );

$( '#Transacoes_valorDoacao_4' ).on( 'click', function() {
	var ca = $( '#outroValor' );

	if( ca.css( 'display' ) == 'none' )
		ca.css( 'display', 'inline' ).hide().fadeIn();

	ca.focus();
} );

$( 'input[name="Transacoes[valorDoacao]"]' ).change( function() {
	setcontribution( $( this ).val() );
} );

setcontribution( $( 'input[name="Transacoes[valorDoacao]"]:checked' ).val() );

}
setupPaymentField();

Mesmo no FireFox vocês têm um trabalhinho de Q&A para fazer - se eu não preencho nome ou CPF, ele não mostra boleto nem nada- fica travado :frowning:

Isso é verdade,

ainda não está tratando os erros 100%, mais quando preenche funciona…
minha preocupação maior agora e funcionar no IE 8 e inferior, o 9 funciona igual aos outros browsers.

Aguardo mais opiniões…help…rs

O que acontece no IE ? problema com html e javascript ?

No IE 8 ou inferior ele nao da para continuar a transação, nem boleto e nem debito.

Ao clicar em detalhes do erro:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C)
Timestamp: Tue, 12 Jun 2012 17:35:06 UTC

Message: ‘sliders[…].slider’ is null or not an object
Line: 102
Char: 3
Code: 0
URI: https://www.fao.org.br/doacoes/js/form.js