Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera.
Preciso de uma ajuda pois não manjo nada nada de javascript e inclusive iniciei um curso pra saber um pouco mais. Porém meu problema é mais urgente e não dá pra esperar.
O problema:
Preciso de um link(tem que ser um link mesmo), que fique desativado (não possa clicar, mas ainda aparecendo). E que ele ative apenas depois que os formulários que eu preencher estiverem preenchidos. Se eu apagar qualquer um, é removido e volta a ser desativado. É preciso que ele reconheça que os campos foram preenchidos. A validação eu vou fazer depois, mas preciso fazer alguma forma que esse link esteja ali, visível e que a pessoa possa clicar nele apenas depois que os campos estiverem preenchidos.
Tentei fazer alguma coisa nesse link, mas como não manjo nada, pesquisei pingado saiu uma bagunça.
https://jsfiddle.net/lucasdalferth/z0zvphxq/
Neste link eu tentei fazer com que uma classe ficasse visível e a outra invisível. Ou seja, enquanto estivesse o campo vazio iria aparecer o spam sem o link, e ao ser preenchido elas inverteriam e apareceria o link e esconderia o spam. Mas não sei fazer o js reconhecer o campo vazio e preenchido. Agradeço a ajuda
Fala brother, blz?
Então, o problema com o link e por que deve ser um link, estou um usando um plugin jquery full page. e nele coloquei uma rolagem horizontal. O link chama a rolagem Horizontal. A intenção é fazer com que o user não passe as paginas sem antes preencher tudo. E a intenção do link "desativado" é mostrar que existe outra pagina e só se ele preencher tudo que irá ativar. Eu poderia usar uma div com display none, mas aí ele iria preencher e depois? Tem coisas que desagradam os usuários, principalmente quando existem coisas que não estão bem especificadas.
A ideia é justamente para que exista no mesmo form, todas as informações para finalizar com um submit, mas eu não quero que a pessoa passe o slide para o lado sem antes preencher todas as informações.
Seria mais ou menos assim o breacrumb: O user entra para fazer um cadastro, escolhe uma categoria > vai para dados pessoais(aqui tem o link desativado), preenche todos os dados pessoais (botão ativa para rolar o slide) > rola a página vem dados empresariais ( novamente um botão desativado), preenche e ativa.. até chegar no submit que vai mandar os dados para o banco. Mas tudo é só um form. O que deve chamar é um link, infelizmente.
Por isso pensei em: ao identificar os campos preenchidos, aplica-se sobre uma div o link. Se os campos estiverem vazios, retira-se o link e aplica-se o span, com uma formatação igual e "simular" um link desativado.
Por que você não faz a validação no jquery que rola a página?
Se tiver preenchido, rola o slide senão mostra mensagem...
Caso você queira a questão do botão, acredito que o mais fácil seria iniciar com o botão desativado:
<a href="javascript:;" data-href="Javascript:rolarSlide();" class="btt-proximo">Próxima página</a>
E a medida que o usuário vai preenchendo os campos, você pode liberar o acesso... Digamos que os campos obrigatórios tenham uma classe "obrigatorio" para poder fazer a validação
$(function(){
$('.obrigatorio').keyup(function(){
var liberar = true;
$('.obrigatorio').each(function(){
if($(this).val() == '' || $(this).val() == undefined){
liberar = false;
}
});
if(liberar){
var funcaoProximo = $('.btt-proximo').data('href');
$('.btt-proximo').attr('href',funcaoProximo);
} else {
$('.btt-proximo').attr('href','javascript:;');
}
});
});Fala galera, agradeço as dicas.. mas queria algo mais ou menos nesse estilo aqui.
https://jsfiddle.net/lucasdalferth/z0zvphxq/
Como disse, não sei nada de js então queria algo que, aparecesse um h2, com o campo vazio. E um código onde o h2 sai e é colocado um link no mesmo lugar, quando o campo estiver preenchido. Isso iria simular o que eu quero.
Se for em um formulário, não deve haver link, e sim button (uma vez que um link é nada relevante, ou inerente, ao formulário).
Um link você não pode ativar/desativar, apenas pode permitir que seja executado ou não, para isso, use um event listener e de um retorno false, ou preventDefault(), ao clicar nele.
Um button pode sim ser ativado e desativado. Além do mais, um formulário, assim como o link, pode ter seu evento rejeitado.
Seria algo como:
Ou:
Já no botão, pode desativar:
document.getElementById('button').setAttribute('disabled' , 'disabled');
Ativar:
document.getElementById('button').removeAttribute('disabled');