Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bru_ce

Problema com animate scrollTop

Recommended Posts

Boa Tarde Amigos,
Tenho um questionário eletrônico onde tive que fazer as validações na "mão", pois existem alguns itens que fazem o campo ser obrigatório ou não.

 

Vamos lá, funciona da seguinte maneira:

 

Tenho vários campos rádio, com valores de 0 à 5, caso o usuário selecione o valor 1 ou 2 o campo de justificativa de baixo tem que ficar bloqueado.

 

Minha lógica foi a seguinte:

 

Quando o usuário clicar em cima do botão radio ele pega o nome dele, que seria por exemplo notapergunta1,

retira a parte do notapergunta e fica com o número 1 no caso dos demais por diante, 2,3 ...

Depois ele incrementa assim justifica que é o nome do campo de justificativa dessa pergunta e joga esse número resgatado, depois ele joga a classe obriga.

 

 

 
$("input[type=radio]").click(function(){
var nome = $(this).attr('name');
var valor = $(this).val();
var pega = nome.substr(12,2);
var junta = 'justifica'+pega;
var tipoComentario = 'tipoComentario'+pega;
if(valor == 1 || valor == 2){
$("[name='"+junta+"']").addClass('obriga');
 
}
else
{
$("[name='"+junta+"']").removeClass('obriga');
}
});
 

 

 

Aqui faço a validação:

Eu verifico se o campo radio não esta selecionado caso ele não esteja eu subo com o animate até o label da pergunta se encontra, caso esteja preenchdido eu verifico se o justifica da pergunta tem a classe obrigado, caso tenha eu verifico se esta vazio, caso esteja eu subo até o label novamente.

 

 

 
if($("[name='notapergunta1']").is(':checked') == false){
$("#label1").show();
$('html,body').animate({scrollTop: $("#label1").offset().top}, 2000);
return false
}
 
if($("[name='justifica1']").hasClass('obriga')){
if($("[name='justifica1']").val()==""){
$('html,body').animate({scrollTop: $("#label1").offset().top}, 2000);
return false
}
}
 

 

 

 

PROBLEMA: tem vezes que não consigo rolar a página, fica travado .. Alguma solução ?

Grato,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma otimizada nesse script.

 

$junta.addClass('obriga');

$junta.removeClass('obriga');

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.