Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Dia Minha Gente,
Preciso de uma ajuda.
Num formulário de cadastro de cliente possui os botões Novo e Salvar, preciso deixar este formulário da seguinte forma:
Quando o botão Salvar for clicado e os dados forem salvos com sucesso, e o formulário receber a mensagem do servidor que os "Dados foram salvos com Sucesso" este botão Salvar deve ficar desabilitado impedindo q o usuário clique-o novamente para não gravar os dados em duplicidade. Não estou conseguindo fazer com o o botão Salvar fique desabilitado após os dados serem Salvos... Por favor alguém pode me ajudar?
Vejam o código jQuery com Ajax..
$(document).ready(function(){
$("#new").click(function(){
$("#Salvar").removeAttr('disabled');
$("#consultor").removeAttr('disabled');
$("#email").removeAttr('disabled');
$("#telefone").removeAttr('disabled');
$("#celular").removeAttr('disabled');
$("#parceiro").removeAttr('disabled');
});
$("#Salvar").click(function(){
$(".msgError").html("");
$(".msgError").css("display","none");
var consultor = $("#consultor").val();
var email = $("#email").val();
var telefone = $("#telefone").val();
var parceiro = $("#parceiro option:selected").val();
$.post("valida_consultor.php",{consultor: consultor, email: email, telefone: telefone, parceiro: parceiro},
function(retorno){
beforeSend:$("#retorno").html(retorno);
});
if($("#sucessoError").val() == "Dados cadastrados com sucesso!"){
$("#Salvar").attr('disabled', 'disabled');
}
return false;
});
});
Aqui não deveria funcionar? Quando o formulário receber a resposta do servidor que os dados foram salvos com sucesso o botão Salvar deveria ficar desabilitado?
if($("#sucessoError").val() == "Dados cadastrados com sucesso!"){
$("#Salvar").attr('disabled', 'disabled');
}
return false;
});
Agradeço a ajuda pessoal....
>
mas você não atribui nada a esse input.. não ta fazendo sentido o teu if.
Tente assim:
if(retorno == "Dados cadastrados com sucesso!"){
Oi Willian,
Veja bem a mensagem ""Dados cadastrados com sucesso!" será impressa na div="#sucessoError" do formulário.
O meu IF eu atrabui exatamente na div="#sucessoError", ou seja, depois que os dados forem processados e retornar a mensagem "Dados cadastrados com sucesso!" resgato o valor da div pelo $("#Salvar"), ou estou fazendo errado? Pode me orientar melhor?
function(retorno){
beforeSend:$("#retorno").html(retorno);
});
if($("#sucessoError").val() == "Dados cadastrados com sucesso!"){
$("#Salvar").attr('disabled', 'disabled');Veja bem a mensagem ""Dados cadastrados com sucesso!" será impressa na div="#sucessoError" do formulário.
pq você acha isso ?você não tem isso em nenhum lugar do teu código.
O meu IF eu atrabui exatamente na div="#sucessoError",
hum.. calma lá.. se é uma DIV, então ela não tem atributo .value, então o .val() não faz sentido.
.val() é exclusivo para elementos de formulário: input, select e textearea.
Entendi. Então como eu faço para capturar o valor contido numa Div? Posso mudar para um Span ao invés de uma Div, seria mais ideal?
com .htm(), ou .text()
Mas de novo cara, não tem no seu código nenhuma atribuição, por isso o if ainda não faz sentido, mesmo que você corrija o método de resgate.
>
com .htm(), ou .text()
Mas de novo cara, não tem no seu código nenhuma atribuição, por isso o if ainda não faz sentido, mesmo que você corrija o método de resgate.
Amigo, o que você quer dizer que não tem nenhuma atribuição no código? Poderia me detalhar melhor? Pois o que eu desejo que funcine é o botão Salvar fique desabilitado após os dados serem tratados e validados com sucesso? Onde estou errando? Estou meio perdido, sou iniciante em jQuery....
mas você não atribui nada a esse input.. não ta fazendo sentido o teu if.
Tente assim:
if(retorno == "Dados cadastrados com sucesso!"){