Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho esse código que, quando os campos estão vazios o botão fica desabilitado... mas quando eu digito algo nos campos o botão não fica habilitado... o que devo colocar no "else"...pois ele não está removendo a classe =/
$(document).ready(function(){
var titulo = $("#titulo").val();
var depoimento = $("#depoimento").val();
if(titulo || depoimento == ""){
$("#insert").addClass('disabled');
} else {
$("#insert").removeClass('disabled');
}
})Não... mas o if tá certo "$("#insert").addClass('disabled');" ele add a classe se não tem nada digitado... o problema é o else, quando eu digito algo é para remover a classe e habilitar o botão.
Ah entendi... tu mudou a forma. Mas mesmo assim não funcionou. O botão continua desabilitado.
Bom, na verdade ele só está fazendo essa função quando ele inicia a página, você precisa adicionar um evento no seu input.
Tente:
$(document).ready(function(){
var titulo = $("#titulo").val();
var depoimento = $("#depoimento").val();
$("#input").change(function()
{
if(titulo || depoimento == ""){
$("#insert").addClass('disabled');
} else {
$("#insert").removeClass('disabled');
}
});
})É... nada funciona. Acabei fazendo em scripts diferentes... O se os campos estiverem vazios, e outra usando o change. Até funcionou, só que quando apago os dados... ele não volta a ficar desabilitado. O else nunca funciona.
//Vazio
<script type="text/javascript">
$(document).ready(function(){
var titulo = $("#titulo").val();
var depoimento = $("#depoimento").val();
if(titulo == "" || depoimento == ""){
$("#insert").addClass('disabled');
}
})
</script>
//Change
<script type="text/javascript">
$(document).ready(function(){
var titulo = $("#titulo").val();
var depoimento = $("#depoimento").val();
$("#titulo, #depoimento").change(function(){
$("#insert").removeClass('disabled');
})
if(titulo == "" || depoimento == ""){
$("#insert").addClass('disabled');
}
})
</script>no lugar do evento change, use keypress
Obrigado ;)
Só que na verdade o que eu preciso é que remova a classe se os campos são apagados... e não está acontecendo.
posta o seu script completo, com html.
ai eu rodo aqui e vejo oq está ocorrendo. Não entendi a sua dificuldade.
A ideia é o seguinte: Tem dois campos e um botão de enviar... se os campos estão vazios o botão fica desativado, se preenche-los o botão fica ativo, usando a class 'disabled' no botão("#insert")... Ele começa desativado e quando preencho ele habilita, mas, se eu apago os dados ele não volta a ficar desabilitado... código:
$(document).ready(function(){
var titulo = $("#titulo").val();
var depoimento = $("#depoimento").val();
if(titulo == "" || depoimento == ""){
$("#insert").addClass('disabled');
}
})
$(document).ready(function(){
$("#titulo, #depoimento").keypress(function(){
$("#insert").removeClass('disabled');
})
})
Esse é o código....
Agora fiz desse jeito... já deixei a classe no botão e fiz esse script:
<script type="text/javascript">
$(function(){
$("#titulo, #depoimento").keypress(function(){
$("#insert").removeClass('disabled');
})
return false
})
</script>
Só que eu preciso que se os campos forem apagados a classe disabled seja adicionada.... Quando apago os dados o botão não fica desabilitado.esse if:
if(titulo == "" || depoimento == ""){tem q estar também dentro do keypress
É... não adianta, fiz de várias formas... Até funciona, inicia desabilitado, se digita algo ele habilita... Só que quando apaga os dados, ele não addClass('disabled') novamente. Único problema. Mas pela lógica era pra funcionar. Mas obrigado pela ajuda.
Você colocou o AddClass no If(campo == "")?
Coloquei... fiz desse jeito agora e nada.
if(titulo.length < 0){
$(".insert").addClass('disabled');
}
Mazáá até que em fim!! Valeu gurizada... segue o código :D
$(document).ready(function(){
$("#titulo").on('keyup', function(){
var titulo = $("#titulo").val();
$(".insert").removeClass('disabled');
if(titulo.length < 1){
$(".insert").addClass('disabled');
} else {
return true
}
})
return false
})O problema agora é que tenho dois campos, como que eu posso incluir uma função para dois campos?!
Não pode ser <0, tem que ser =0.
Você nunca vai ter -1 letras no campo.
Para incluir a função para dois campos basta adicionar uma "," no jQuery:
$(document).ready(function(){
$("#titulo, #campo2").on('keyup', function(){
var titulo = $("#titulo").val();
var campo2 = $("#campo2").val();
$(".insert").removeClass('disabled');
if(titulo.length <= 0 || campo2.length <= 0){
$(".insert").addClass('disabled');
} else {
return true
}
})
return false
})Na verdade ficou assim... e deu certo ;)
$(document).ready(function(){
$("#titulo").on('keyup', function(){
var titulo = $("#titulo").val();
$(".insert").removeClass('disabled');
if(titulo == ""){
$(".insert").addClass('disabled');
}
})
})
Valeu KhaosDoctor, funcionou colocando a "," agora ficou tri :D
Agora sim, resolvido... Obrigado.
$(document).ready(function(){
$("#titulo, #depoimento").on('keyup', function(){
var titulo = $("#titulo").val();
var depoimento = $("#depoimento").val();
$(".insert").removeClass('disabled');
if(titulo == "" || depoimento ==""){
$(".insert").addClass('disabled');
}
})
})
If(titulo == "" || depoimento == "")
{
//código aqui
}
A não ser que titulo seja uma variável boolean.