Jump to content
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.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By jranesio
      Estou com problemas com script PHP e cURL para:
      1 - logar no site
      2 - acessar formulario de pesquisa e passar os dados
      3 - receber a página de resposta html
      Itens 1 e 2 estão OK, obtenho a resposta (item 3).
      Alguém pode orientar onde estou errando? Segue script.
      Obrigado
       
       
      <?php
       
      $cookie = dirname(__FILE__).'/cookie.txt';
      $url1='http://clima.feis.unesp.br/login.php'; //página de login
      $url2='http://clima.feis.unesp.br/dados_diarios.php'; //formulario de pesquisa
      $url3='http://clima.feis.unesp.br/recebe_formulario.php'; //Resultado esperado
      $username = 'usuario=siteteste';
      $password = 'senha=testesite';
      $dadosform= [ 'dataini' => '01/01/2020',
      'datafim' => '01/03/2020',
      'estacao' => '1'
      ];
      $useragent='Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6';
      $ch = curl_init($url2);
      curl_setopt_array($ch, [
                              CURLOPT_COOKIESESSION => 1,
                              CURLOPT_COOKIEJAR => $cookie,
                              CURLOPT_COOKIEFILE => $cookie,
                              CURLOPT_USERAGENT => $useragent,
                              CURLOPT_AUTOREFERER => 1,
                              CURLOPT_URL => $url2,
                              CURLOPT_POST => 1,
                              CURLOPT_RETURNTRANSFER => 1,
                              CURLOPT_FOLLOWLOCATION => 0,
                              CURLOPT_USERPWD => $username.":".$password,
                              CURLOPT_VERBOSE => 1 ,
                              CURLINFO_HEADER_OUT => 1,
                              CURLOPT_POSTFIELDS => $dadosform,
      ]);
      $resultado = curl_exec($ch);
      $errno = curl_errno($ch);
      echo "<br>Login: ". curl_strerror($errno).'<hr>';
      echo '<hr>';
      if($errno == 0) {
          print_r($resultado);
      }

      curl_close($ch);
      echo '<br>[FIM]';
       
    • By alysson122010
      Galera estou com um sistema de jcrop que quando eu coloco imagem jpg e jpeg ele funciona de boa porem quando coloco png a imagem fica toda preta e salva preta.
       
      PHP que salva
       

      <?php
      /*********************************************************************
           Purpose            : update image.
           Parameters         : null
           Returns            : integer
           ***********************************************************************/
           $post = isset($_POST) ? $_POST: array();
           //print_R($post);die;
           switch($post['action']) {
            case 'save' :
              saveAvatarTmp();
            break;
            default:
              changeAvatar();
              
           }
          
           function changeAvatar() {
              $post = isset($_POST) ? $_POST: array();
              $max_width = "500"; 
              $userId = isset($post['hdn-profile-id']) ? intval($post['hdn-profile-id']) : 0;
              $path = 'images/tmp';
              $valid_formats = array("jpg", "png", "gif", "bmp","jpeg");
              $name = $_FILES['photoimg']['name'];
              $size = $_FILES['photoimg']['size'];
              if(strlen($name))
              {
              list($txt, $ext) = explode(".", $name);
              if(in_array($ext,$valid_formats))
              {
              if($size<(1024*1024)) // Image size max 1 MB
              {
              $actual_image_name = 'avatar' .'_'.$userId .'.'.$ext;
              $filePath = $path .'/'.$actual_image_name;
              $tmp = $_FILES['photoimg']['tmp_name'];
              
              if(move_uploaded_file($tmp, $filePath))
              {
              $width = getWidth($filePath);
                  $height = getHeight($filePath);
                  //Scale the image if it is greater than the width set above
                  if ($width > $max_width){
                      $scale = $max_width/$width;
                      $uploaded = resizeImage($filePath,$width,$height,$scale);
                  }else{
                      $scale = 1;
                      $uploaded = resizeImage($filePath,$width,$height,$scale);
                  }
              /*$res = saveAvatar(array(
                              'userId' => isset($userId) ? intval($userId) : 0,
                                                      'avatar' => isset($actual_image_name) ? $actual_image_name : '',
                              ));*/
                              
              //mysql_query("UPDATE users SET profile_image='$actual_image_name' WHERE uid='$session_id'");
              echo "<img id='photo' file-name='".$actual_image_name."' class='' src='".$filePath.'?'.time()."' class='preview'/>";
              }
              else
              echo "failed";
              }
              else
              echo "Image file size max 1 MB"; 
              }
              else
              echo "Invalid file format.."; 
              }
              else
              echo "Please select image..!";
              exit;
              
              
          }
          /*********************************************************************
           Purpose            : update image.
           Parameters         : null
           Returns            : integer
           ***********************************************************************/
           function saveAvatarTmp() {
              $post = isset($_POST) ? $_POST: array();
              $userId = isset($post['id']) ? intval($post['id']) : 0;
              $path ='\\images\uploads\tmp';
              $t_width = 300; // Maximum thumbnail width
              $t_height = 300;    // Maximum thumbnail height
              
          if(isset($_POST['t']) and $_POST['t'] == "ajax")
          {
              extract($_POST);
              
              //$img = get_user_meta($userId, 'user_avatar', true);
              $imagePath = 'images/tmp/'.$_POST['image_name'];
              $ratio = ($t_width/$w1); 
              $nw = ceil($w1 * $ratio);
              $nh = ceil($h1 * $ratio);
              $nimg = imagecreatetruecolor($nw,$nh);
              $im_src = imagecreatefromjpeg($imagePath);
              imagecopyresampled($nimg,$im_src,0,0,$x1,$y1,$nw,$nh,$w1,$h1);
              imagejpeg($nimg,$imagePath,90);
              
          }
          echo $imagePath.'?'.time();;
          exit(0);    
          }
          
          /*********************************************************************
           Purpose            : resize image.
           Parameters         : null
           Returns            : image
           ***********************************************************************/
          function resizeImage($image,$width,$height,$scale) {
          $newImageWidth = ceil($width * $scale);
          $newImageHeight = ceil($height * $scale);
          $newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
          $source = imagecreatefromjpeg($image);
          imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,$width,$height);
          imagejpeg($newImage,$image,90);
          chmod($image, 0777);
          return $image;
      }
      /*********************************************************************
           Purpose            : get image height.
           Parameters         : null
           Returns            : height
           ***********************************************************************/
      function getHeight($image) {
          $sizes = getimagesize($image);
          $height = $sizes[1];
          return $height;
      }
      /*********************************************************************
           Purpose            : get image width.
           Parameters         : null
           Returns            : width
           ***********************************************************************/
      function getWidth($image) {
          $sizes = getimagesize($image);
          $width = $sizes[0];
          return $width;
      }
      ?>
       
       
      Jquery
       
      <script type="text/javascript">
              jQuery(document).ready(function(){
              
              jQuery('#change-pic').on('click', function(e){
                  jQuery('#changePic').show();
                  jQuery('#change-pic').hide();
                  
              });
              
              jQuery('#photoimg').on('change', function()   
              { 
                  jQuery("#preview-avatar-profile").html('');
                  jQuery("#preview-avatar-profile").html('Uploading....');
                  jQuery("#cropimage").ajaxForm(
                  {
                  target: '#preview-avatar-profile',
                  success:    function() { 
                          jQuery('img#photo').imgAreaSelect({
                          aspectRatio: '1:1',
                          onSelectEnd: getSizes,
                      });
                      jQuery('#image_name').val(jQuery('#photo').attr('file-name'));
                      }
                  }).submit();
              });
              
              jQuery('#btn-crop').on('click', function(e){
              e.preventDefault();
              params = {
                      targetUrl: 'profile.php?action=save',
                      action: 'save',
                      x_axis: jQuery('#hdn-x1-axis').val(),
                      y_axis : jQuery('#hdn-y1-axis').val(),
                      x2_axis: jQuery('#hdn-x2-axis').val(),
                      y2_axis : jQuery('#hdn-y2-axis').val(),
                      thumb_width : jQuery('#hdn-thumb-width').val(),
                      thumb_height:jQuery('#hdn-thumb-height').val()
                  };
                  saveCropImage(params);
              });
              
           
              
              function getSizes(img, obj)
              {
                  var x_axis = obj.x1;
                  var x2_axis = obj.x2;
                  var y_axis = obj.y1;
                  var y2_axis = obj.y2;
                  var thumb_width = obj.width;
                  var thumb_height = obj.height;
                  if(thumb_width > 0)
                      {
                          jQuery('#hdn-x1-axis').val(x_axis);
                          jQuery('#hdn-y1-axis').val(y_axis);
                          jQuery('#hdn-x2-axis').val(x2_axis);
                          jQuery('#hdn-y2-axis').val(y2_axis);
                          jQuery('#hdn-thumb-width').val(thumb_width);
                          jQuery('#hdn-thumb-height').val(thumb_height);
                          
                      }
                  else
                      alert("Please select portion..!");
              }
              
              function saveCropImage(params) {
              jQuery.ajax({
                  url: params['targetUrl'],
                  cache: false,
                  dataType: "html",
                  data: {
                      action: params['action'],
                      id: jQuery('#hdn-profile-id').val(),
                       t: 'ajax',
                                          w1:params['thumb_width'],
                                          x1:params['x_axis'],
                                          h1:params['thumb_height'],
                                          y1:params['y_axis'],
                                          x2:params['x2_axis'],
                                          y2:params['y2_axis'],
                                          image_name :jQuery('#image_name').val()
                  },
                  type: 'Post',
                 // async:false,
                  success: function (response) {
                          jQuery('#changePic').hide();
                          jQuery('#change-pic').show();
                          jQuery(".imgareaselect-border1,.imgareaselect-border2,.imgareaselect-border3,.imgareaselect-border4,.imgareaselect-border2,.imgareaselect-outer").css('display', 'none');
                          
                          jQuery("#avatar-edit-img").attr('src', response);
                          jQuery("#preview-avatar-profile").html('');
                          jQuery("#photoimg").val('');
                  },
                  error: function (xhr, ajaxOptions, thrownError) {
                      alert('status Code:' + xhr.status + 'Error Message :' + thrownError);
                  }
              });
              }
              });
          </script>
    • By DinhoPHP
      Pessoal, tenho um código PHP que busca imagens em subpastas, porém gostaria de fazê-lo com que fosse carregado aos poucos pois são muitas fotos, tentei de ns maneiras entender o AJAX, mas não tive sucesso. Favor! Peço ajuda.
       
      loadAjax.php
      $dir = new DirectoryIterator( './images/portfolio/sem_categoria' ); // array contendo os diretórios permitidos $diretoriosPermitidos = array("portfolio","sem_categoria"); foreach($dir as $file) { // verifica se $file é diferente de '.' ou '..' if (!$file->isDot()) { // listando somente os diretórios if ( $file->isDir() ) { // atribui o nome do diretório a variável $dirName = $file->getFilename(); // subdiretórios $caminho = $file->getPathname(); // chamada da função de recursividade recursivo($caminho, $dirName); } // listando somente os arquivos do diretório if ( $file->isFile() ) { // atribui o nome do arquivo a variável $fileName = $file->getFilename(); // print //echo "Arquivos: ".$fileName."<br>"; } } } function recursivo( $caminho, $dirName ){ global $dirName; $DI = new DirectoryIterator( $caminho ); foreach ($DI as $file){ if (!$file->isDot()) { if ( $file->isFile() ) { // $fileName = $file->getFilename(); // //echo $dirName.": ".$fileName."<br>"; echo "<div class='col-12 col-sm-6 col-md-4 col-lg-3 mb-2 d-flex justify-content-center' alt=''> <a href='{$fileName}' class='fresco' data-fresco-group='example' data-fresco-caption='ARJ SERVICE'> <img class='eni-img-thumb' src='images/portfolio/sem_categoria/{$dirName}/{$fileName}'> </a> </div>"; } } } } Tentei adaptar o código abaixo as minhas necessidades, mas não consegui.
      <script> //variavel para controle de registros retornados var pagina = 0; var pesquisa = true; //function carrega function carrega(){ $('#loading').html("<img src='img/loader.gif'/> Carregando Feeds...").fadeIn('fast'); $.ajax({ type: "POST", url: "loadAjax.php", data: "page="+pagina,//variavel passada via post cache: false, success: function(html){ if(html){ $('#loading').fadeOut('fast'); $("#result").append(html); //mostra resultado na div result pesquisa = true; }else{ $('#loading').html("Fim da pesquisa...").fadeIn('fast'); pesquisa = false; } }, error:function(html){ $('#loading').html("erro...").fadeIn('fast'); } }); }; //chama minha funcao ao carregar a pagina $(document).ready(function(){ carrega(); }); //funcao de controle do scroll da pagina, na qual ela chega ao fim é acionada chamando //minha function carrega novamente para trazer mais dados dinamicamente $(window).scroll(function(){ if($(window).scrollTop() + $(window).height() >= $(document).height()){ pagina += 1; carrega(); }; }); </script>  
    • By Giovanird
      Olá amigos!
      Tenha a seguinte estrutura no banco MySQL
      COD   |   PONTOX  |  PONTOY  |  ATLETAX       |  ATLETAY
      1         |   0               |  1               |  Maria              |  João
      2         |   2               |  0               |  João               |  Maria
      3         |   0               |  2               |  Maria              |  João
      4         |   7               |  5               |  Maria              |  João
      5         |   0               |  3               |  João               |  Maria
      6         |   2               |  1               |  João               |  Maria
      7         |   0               |  6               |  Maria              |  João
      8         |   4               |  0               |  João               |  Maria
       
      Preciso de ajuda para somar quantos pontos fez o atleta João nos últimos 5 torneios (COD 8, 7, 6, 5 e 4)  Há momento que o João jogou em X e outro momento em Y.
      Abaixo segue meu Select, onde a soma dos pontos deve ser 17.
       
      nomeatleta = "João"
      Set soma= banco.execute("SELECT sum(PONTOX ) AS somax,  sum(PONTOY ) AS somay FROM (select cod, pontox, pontoy, atletax, atletay  from torneios where (atletax like '"&nomeatleta&"' or atletay like '"&nomeatleta&"') order by cod desc limit 5) AS temp")
       
    • By mamotinho
      Olá, estou tentando enviar a url que corresponde a imagem porém não é possivel enviar essa url pois ela é muito grande, teria alguma maneira de eu conseguir fazer esse envio sem perde muito o sentido. já rodei a internet toda mais não conseguir resolver a questão.
      segua abaixo o exemplo
       
      function photo(idx){ var character = idx; (async () => { const { value: file } = await Swal.fire({ input: 'file', inputAttributes: { accept: 'image/*', 'aria-label': 'Selecione sua imagem' } }) if (file) { const reader = new FileReader() reader.onload = (e) => { var mystring = e.target.result; var encodedString = btoa(mystring); //alert(encodedString); //código que envia os dados. new Ajax.Updater('carfunc', 'pag/request/user/swal.php?Idx='+character+'&form=6&image='+encodedString, {method: 'get', asynchronous:true, evalScripts:true}); carregando('#carfunc'); } reader.readAsDataURL(file) } })() }  
       
      Aqui é a chamada da função:
       
      <div class="skillBlock"> <div class="skillBlock-block"> <div class="skillBlock-img"> <img src="images/skill_5.jpg" alt=""> <span class="m-number">3</span> </div> <div class="skillBlock-info" style="cursor:pointer;" onclick="javascript:photo('<?=soNumero(antSQL(anti_injection(htmlspecialchars($rowsCharacter->CharacterIdx))))?>')"> <p>Adicionar Emblema</p> adicione emblema de guild </div> </div> Algum especialista do coração bom poderia me tirar esse sufoco.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.