Jump to content
Sapinn

Dar Disabled em js em um campo dentro de um while php

Recommended Posts

Pessoal preciso de um ajuda tenho um código eu preciso bloquear os campos que aparecem em um while do php o problema tá sendo que só o primeiro campo ta pegando o desabled todos os outros continuam normais.

Segue o código que eu estou tentando:

<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <title>Meu site</title>
    <meta charset="utf-8">
  

<script type="text/javascript" language="javascript">
function Mudarestado(el) {
    var display = document.getElementById(el).style.display;
    var select = document.getElementById('select');
    var value = select.options[select.selectedIndex].value;
    console.log(value);
    
    if(value === 'TurmasEspecificas') {
        document.getElementById(el).style.display = 'block';
        document.getElementById("campo_turma").disabled = true;
    } else {
        document.getElementById(el).style.display = 'none';
    }
}
</script>
             
                <div class="form-group">
                <label class="label-form">Escolha uma Turma:</label>
     <select class="campo-contato" name="codigo_turma" onchange="Mudarestado('minhaDiv')" id="select">
  <option name="codigo_turma" value="TodasTurmas">Todas minhas turmas</option>
  <option name="codigo_turma" value="TurmasEspecificas" >Escolher turmas especificas</option>
    <?php 

       $result = mysqli_query($conn,"select * from turma where codigo_professor = '".$professor['id']."'");

       while($pegaTurma = mysqli_fetch_assoc($result)) {
        echo '<option value="'.$pegaTurma['id'].'" name="codigo_turma"> '.$pegaTurma['nome_turma'].' - '.$pegaTurma['escola_turma'].' </option>';

       }
    ?>

</select>
<div id="minhaDiv" style="display: none;">
<h5 style="font-style:italic;color:blue;">Escolha suas turmas que receberão este tema: </h5>
<?php
 $result = mysqli_query($conn,"select * from turma where codigo_professor = '".$professor['id']."'");
 while($pegaTurma = mysqli_fetch_assoc($result)) {
?>
      <input type="text" id="campos_turmas" name="turma_escolhida[]" value="<?php echo $pegaTurma['id'];?>" id="campo_turma">
       <input type="checkbox" name="marcadas[]"  value="<?php echo $pegaTurma['id'];?>"> <?php echo $pegaTurma['nome_turma']?> - <?php echo $pegaTurma['escola_turma']?><br>
  
  <?php
 } 
  ?>


 

Share this post


Link to post
Share on other sites

Cara, quais a condições para que o campo venha desabilitado?

você pode inserir if dentro do while tbm, so uma dica, procure criar  funções para suas conexões, poruqe no mesmo arquivo você ta fazendo isso 2 vezes e nao ta fechando elas tbm

Share this post


Link to post
Share on other sites

Preciso que toda vez que a opção Turmas Especificas seja selecionada no select os campo onde tem o id campos_turmas seja desabilitado.

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 Sapinn
      Pessoa de novo eu aqui kk. Acho que essa pergunta é simples mas eu não sei como fazer, já pesquisei em vários cantos mas só achei a resposta em Jquery e eu queria fazer em Javascript puro. Basicamente eu gostaria de transferir dados de uma tabela para um form eu já consegui fazer mas só funciona em um td e eu gostaria nos outros não funcionam. 
      <!DOCTYPE html> <html lang="pt-br"> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head> <body>     <table border="1px">         <tr>             <td>Nome</td>             <td>Endereço</td>             <td>Telefone</td>             <td>Adicionar</td>         </tr>         <tr>             <td id="nome_cliente" value="Sapien">Sapinn</td>             <td id="endereco_cliente" value="Rua 01">Rua 01</td>             <td id="tel_cliente" value="(88) 9 9999-9999">(88)9 9999-9999</td>             <td><button onclick="adicionar()">Adicionar</button></td>         </tr>         <tr>             <td id="nome_cliente" value="Sapien">Supremo</td>             <td id="endereco_cliente" value="Rua 01">Rua 05</td>             <td id="tel_cliente" value="(88) 9 9999-9999">(88)9 0000-0000</td>             <td><button onclick="adicionar()">Adicionar</button></td>         </tr>     </table><br><br>     Nome:<input type="text" name="nome" id="nome">     Telefone: <input type="text" name="telefone" id="telefone">     Endereço: <input type="text" name="endereco" id="endereco">     <script>         function adicionar(){                         let nome_cliente = document.getElementById("nome_cliente").innerHTML;             let endereco_cliente = document.getElementById("endereco_cliente").innerHTML;             let tel_cliente = document.getElementById("tel_cliente").innerHTML;             document.getElementById('nome').value = nome_cliente;             document.getElementById('telefone').value = tel_cliente;             document.getElementById('endereco').value = endereco_cliente;             console.log(nome_cliente, endereco_cliente, tel_cliente)                      }     </script> </body> </html>  
    • By Sapinn
      Fala galera tudo beleza? Então alguém sabe como adicionar e remover campos de texto com js. Tipo teria um botão com um + "mais" para adicionar novos campos e junto a estes campos teria um ícone com um lixeira para remover, toda vez que fosse clicado nesse ícone o campo seria removido, apenas aquele campo. Encontrei um código para adicionar um campo mas a parte de remover ta dando dor de cabeça
      <!DOCTYPE html> <html lang="pt-br"> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Pagina</title>     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css"> </head> <body>     <form id="myForm">         <div id="lines"></div>         <button type="button" onclick="addInput('lines')">+</button>         <input type="submit" value="Enviar">       </form>             <script>           var formLine = 1;                 function addInput(divName) {                 var newdiv = document.createElement('div');                 newdiv.innerHTML += '<input type="text" name="produto" id='+formLine+'>';                 newdiv.innerHTML += ' <i class="bi bi-trash-fill"></i>';                 document.getElementById(divName).appendChild(newdiv);                 formLine++;             }         addInput('lines');       </script> </body> </html>  
    • By danilo759
      Tenho uma tabelinha de programas para uma rádio... está da seguinte forma.

      titulo
      data (YYYY-MM-DD)
      hora (00:00:00)

      Minha consulta, mas não retorna o programa da hora corrente. O que eu fiz de errado?
      SELECT * FROM programas WHERE data = CURDATE() AND hora = CURTIME() LIMIT 1
    • By Ro_JnR
      Estou tentando a semanas resolver um problema, consumir uma API e verificar se o campo no banco está vazio, se estiver faz insert se não faz update.
      Até aí tudo bem, agora não consigo passar do meu select para o banco, ele da erro.
       
      Segue o código:
       
      <?php

          require_once("db.class.php");
          
          $url = "https://servicodados.ibge.gov.br/api/v1/localidades/distritos";
              $ch = curl_init($url);
              curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
              curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
              $resultado = json_decode(curl_exec($ch));
              foreach ($resultado as $cidades) {
                  $nome = $cidades->nome;
                  $stmt = $conn->prepare("SELECT name FROM cidades WHERE name=?");
                  $stmt->bind_Param(':name', $nome);
                  $stmt->execute();
                  $stmt->bind_result($resultSelect);
                  $stmt->fetch();
                  if(!$stmt->execute()){
                      print_r($stmt->errorInfo());
                  }
              } 

      ?>
       
      Código do banco:
       
      $conn = new PDO("mysql:host=localhost;dbname=exercicio", "root", "");
      //"sqlsrv:Database=dbphp7;server=localhost\SQLEXPRESS;ConnectionPooling=0", "sa", "root");
      $stmt = $conn->prepare("SELECT * FROM cidades ORDER BY nome");
      $stmt->execute();
      //fetchALL basicamente faço while do mysqli
      $results = $stmt->fetchALL(PDO::FETCH_ASSOC);
       
      Print do erro:

       
      Tenho um outro exercicio que fiz bem parecido, consumi a API de estados e inseri no banco de dados, esse funcionou normalmente.
      Alguém poderia me dar uma luz, não sei mais o que fazer.
      Era para ser simples rsrsrrs.
    • By Sapinn
      Fala galera existe algum meio que eu possa usar para saber automaticamente o tamanho da tela usando apenas javascript????
       
      Eu sei como saber o tamanho da tela usando:
       
      if (window.matchMedia("(max-width:800px)").matches) {         console.log('Menos que 800')       } else {         console.log('Mais que 800')       }  Ainda assim, preciso atualizar a pagina para conseguir obter o resultado, existe alguma maneira de fazer isso sem atualizar a página.
           
×

Important Information

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