Ir para conteúdo
EltonRodrigo

Evento blur com próximo campo select

Recommended Posts

Eu tenho um formulário com todos os campos desativados com exceção do primeiro. Ao preencher o primeiro campo, se o valor existir no banco de dados todos os campos devem ser ativados. Fiz isso utilizando o evento blur do jquery. O problema é  que o segundo campo é um select, quando clico nesse campo os mesmos não são ativados, mas se clicar no terceiro campo que é um input=text funciona. Eu não posso inverter a ordem dos campos.

Segue o código:

 

<div class="form-group">
   
  <input type="text" class="form-control form-control-sm" name="txt_dd_n_fogo" id="txt_dd_n_fogo" required placeholder="Nº de fogo do pneu">
  
  </div>


<div class="form-group">

  <select class="form-control form-control-sm" name="txt_dd_marca" id="txt_dd_marca" required disabled>
  <option value="">Marca do pneu</option>
                    <option  value="BRIDGESTONE">BRIDGESTONE</option>
                    <option  value="CENTAURO">CENTAURO</option>
                    <option  value="CONTINENTAL">CONTINENTAL</option>
                    <option  value="FATE">FATE</option>
                    <option  value="FIRESTONE">FIRESTONE</option>
                    <option  value="GOODYEAR">GOODYEAR</option>
                    <option  value="KUMHO">KUMHO</option>
                    <option  value="LANDE">LANDE</option>
                    <option  value="MARSHAL">MARSHAL</option>
                    <option  value="MAGGION">MAGGION</option>
                    <option  value="MASTER">MASTER</option>
                    <option  value="MICHELIN">MICHELIN</option>
                    <option  value="PIRELLI">PIRELLI</option>
                    <option  value="SEIBERLING">SEIBERLING</option>
                    <option  value="TOYO">TOYO</option>
                    <option  value="YOKOHAMA">YOKOHAMA</option>
  </select>
</div>

<div class="form-group">
<select class="form-control form-control-sm" name="txt_dd_medida" id="txt_dd_medida" required disabled>
    <option value="">Medida do pneu</option>
    <option value="205/75">205/75</option>
    <option value="215/75">215/75</option>
    <option value="215/75.17.5">215/75.17.5</option>
    <option value="215/80">215/80</option>
    <option value="235/75">235/75</option>
    <option value="275/70">275/70</option>
    <option value="275/80">275/80</option>
    <option value="295/80">295/80</option>
    <option value="385/65">385/65</option>
    <option value="750/16">750/16</option>
    <option value="900/20">900/20</option>
    <option value="1000/20 comum">1000/20 comum</option>
    <option value="1000/20 radial">1000/20 radial</option>
    <option value="1100/20">1100/20</option>
    </select>

</div>

<div class="form-group">
   
  <input type="text" class="form-control form-control-sm" name="txt_dd_mm" id="txt_dd_mm" placeholder="Milímetro(Atual)"  disabled>
  </div>

<div class="form-group">
   <!-- <label for="txt_de_km">KM</label>  -->
  <input class="form-control form-control-sm" type="text" name="txt_dd_km" id="txt_dd_km" placeholder="KM" required disabled>
</div>


<div class="form-group">
<select class="form-control form-control-sm" name="txt_dd_estado" id="txt_dd_estado" required disabled>
        <option value="">Estado do pneu</option>
        <option  value="NOVO">NOVO</option>
        
        <option  value="NOVO USADO">NOVO USADO</option>
        <option  value="NOVO CONSERTADO">NOVO CONSERTADO</option>
        <option  value="1ª RESSOLAGEM">1ª RESSOLAGEM</option>
        <option  value="2ª RESSOLAGEM">2ª RESSOLAGEM</option>
        <option  value="3ª RESSOLAGEM">3ª RESSOLAGEM</option>
        <option  value="4ª RESSOLAGEM">4ª RESSOLAGEM</option>
        <option  value="COM AVARIAS">COM AVARIAS</option>
        <option  value="DESCARTADO">DESCARTADO</option>
        <option  value="RESSOLADO CONSERTADO">RESSOLADO CONSERTADO</option>
        <option  value="VULCANIZAR">VULCANIZAR</option>
     </select>

</div>

<div class="form-group">
 
  <textarea class="form-control" name="txt_dd_obs" id="txt_dd_obs" rows="2" placeholder="Observações"  disabled></textarea>
  </div>

<div class="custom-file">

  <input type="file" name="txt_dd_img" class="custom-file-input" id="txt_dd_img" lang="pt-br" onchange="readURLdd(this);"  disabled>
  
  <label class="custom-file-label" for="customFile">Escolha uma imagem</label>

</div> 
        <input type="submit" class="btn btn-primary" name="bt_dd" id="bt_salvar" value="Salvar" hidden>

 

$(function(){ 
				              
    $("input[name='txt_dd_n_fogo']").blur( function(){  

    var txt_dd_n_fogo = $("input[name='txt_dd_n_fogo']").val();

    $.post('posicoes/function.php',{txt_dd_n_fogo: txt_dd_n_fogo},function(data){
                          
    if( data!='Não existe ainda!' ){ 
       alert(data);

       $("input[name='txt_dd_n_fogo']").val('');

        $("#txt_dd_marca").prop("disabled", true);
        $("#txt_dd_medida").prop("disabled", true);
        $("#txt_dd_mm").prop("disabled", true);
        $("#txt_dd_data").prop("disabled", true);
        $("#txt_dd_km").prop("disabled", true);
        $("#txt_dd_estado").prop("disabled", true);
        $("#txt_dd_obs").prop("disabled", true);
        $("#txt_dd_img").prop("disabled", true);
        $("#bt_salvar").prop("hidden", true);

        }else{
            $("#txt_dd_marca").prop("disabled", false);
            $("#txt_dd_medida").prop("disabled", false);
            $("#txt_dd_mm").prop("disabled", false);
            $("#txt_dd_data").prop("disabled", false);
            $("#txt_dd_km").prop("disabled", false);
            $("#txt_dd_estado").prop("disabled", false);
            $("#txt_dd_obs").prop("disabled", false);
            $("#txt_dd_img").prop("disabled", false);
            $("#bt_salvar").prop("hidden", false);
        }
                        
      });
    });
  });

Tentei criar um botão hidden sobre os todos os campos, ao ser clicado o mesmo ficava como hidden e habilitava todos os campos, até deu certo, mas ao preencher o campo nº de fogo novamente ele não executa mais a função de verificação. Precisa ficar bem amarrado, caso o usuário digite um nº que já existe os campos precisam ficar desabilitados.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por FabianoSouza
      Eu preciso exibir duas informações em minha consulta:
      1) A quantidade de pessoas inscritas numa turma de treinamento (isso é feito com um simples COUNT)
      2) Uma flag de excesso de inscrições na turma. Seria obtido pela comparação entre a quantidade máxima permitida (já existe esse campo) e o COUNT feito acima.
       
      Até aqui sem problemas.
       
      O que quero é evitar fazer duas contagens (1 para saber a quantidade de inscritos, e outra para gerar a flag de excesso de inscrições).
       
      Há uma forma de utilizar UMA contagem para atender as duas necessidades?
       
      Meu código está assim:
       
      ... --AQUI FAZ A COMPARAÇÃO PARA GERAR A FLAG DE EXCESSO DE INSCRIÇÕES , CASE WHEN (SELECT COUNT(*) FROM dbo.tab AS ITT WHERE ITT.codTurmaDeTreina = T.id) > T.lotacaoMax Then T.nome + '&nbsp;'+'<span class=%22icon-aviso fcolor-critico%22 style=%22font-size:18px%22 title=Excesso&nbsp;de&nbsp;inscrições></span>' --AQUI FAZ A CONTAGEM DE INSCRIÇÕES , (SELECT COUNT(*) FROM dbo.tab AS ITT WHERE ITT.codTurmaDeTreina = T.id) AS 'Inscrições'  
    • Por FabianoSouza
      Possuo uma coluna de data.
      Eu gostaria que os registros com datas futuras aparecessem no topo do meu select, em relação aos demais registros.
      Em seguida, gostaria que somente esses registros com datas futuras ficassem em ordem crescente.
      Algo como 
       
      João  | 16/11/2023
      Maria | 17/11/2023
      José  |  20/11/2023
       
      -----------------------------
      (demais registros da base)
      Antônio   |  20/05/2023
      Rosa        | 15/08/2023
      Cida         | 15/10/2022
      Pedro      |  20/05/2021
      Paulo      |  14/11/2020
       
      O select seria esse.
      select dbo.formataData(ET.dataInicial) AS 'data' FROM dbo.tab AS ET GROUP BY ET.dataInicial  
    • Por ILR master
      Salve galera.
       
      Vou publicar um evento e quero colocar um Cronômetro regressivo que mostre em tempo real os dias, horas e minutos que faltam para determinada data, tipo:.
      Faltam 5 dias, 12:30:00 para inauguração.
       
      Qdo chegar no dia, quero que apenas apareça uma mensagem.
       
      Alguém pode me ajudar?
    • Por gersonab
      bom dia
      tenho uma aplicação onde gero um arquivo em pdf, gostaria de recuperar a url do pdf q foi criado, pois quando este é criado ele abre automaticamente e ou ja faz o download do mesmo, preciso da url para enviar para outros.
      <button type="button" class="btn btn-outline-primary" onclick="createPDF();">Imprimir</button> <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.4.1/jspdf.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/canvas2image@1.0.5/canvas2image.min.js"></script> <script language="javascript"> (function($){ $.fn.createPdf = function(parametros) { var config = { 'fileName':'html-to-pdf' }; if (parametros){ $.extend(config, parametros); } var orig = $(this); var widthOrig = $(orig).width(); $(orig).width(900); var quotes = document.getElementById($(orig).attr('id')); html2canvas(quotes, { onrendered: function(canvas) { var pdf = new jsPDF('p', 'pt', 'letter'); for (var i = 0; i <= quotes.clientHeight/900; i++) { var srcImg = canvas; var sX = 0; var sY = 900*i; var sWidth = 900; var sHeight = 900; var dX = 0; var dY = 0; var dWidth = 900; var dHeight = 900; window.onePageCanvas = document.createElement("canvas"); onePageCanvas.setAttribute('width', 900); onePageCanvas.setAttribute('height', 900); var ctx = onePageCanvas.getContext('2d'); ctx.drawImage(srcImg,sX,sY,sWidth,sHeight,dX,dY,dWidth,dHeight); var canvasDataURL = onePageCanvas.toDataURL("image/png", 1.0); var width = onePageCanvas.width; var height = onePageCanvas.clientHeight; if (i > 0) { pdf.addPage(612, 791); } pdf.setPage(i+1); pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width*.62), (height*.62)); // Retirar o comentário caso queira ver como está sendo gerado o canvas. //document.body.appendChild(onePageCanvas); } pdf.save(config.fileName); $(orig).width(widthOrig); } }); }; })(jQuery); function createPDF() { $('#renderPDF').createPdf({ 'fileName' : '<?php echo $usercli['idocl']; ?>' }); }  
×

Informação importante

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