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

6 respostas
A

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?

6 Respostas

perdeu

posta ai o codigo

A
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();

E

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:

A

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

guilherme.dio

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

A

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

Criado 12 de junho de 2012
Ultima resposta 12 de jun. de 2012
Respostas 6
Participantes 4