Ir para conteúdo
joao.felipe

Duvidas em JS

Recommended Posts

AMIGOS, ESTOU TENTANDO APRENDER A LINGUAGEM, O CODIGO É SIMPLES. TENHO UM CHECKBOX e QUERO Verificar se ele se encontra Marcado. ESTOU USANDO O FOR E QUERO QUE O RESULTADO SEJA EXIBIDO EM UM ALERTA DIZENDO CHECK MARCADO OU CHECK DESMARCADO. SEGUE O CÓDIGO. NAO SEI ONDE COLOCAR O ELSE.

<!DOCTYPE HTML>
<html>
<body>

<script>
<!-- ******************************************************************* -->

  function obterMarcados() 
  {
    alert( 'Estamos dentro da função obter Marcados!' ); 
    var listaMarcados = document.getElementsByName("checkbox1");

  if (checkBox1.checked == true)
  {

    for (loop = 0; loop < listaMarcados.length; loop++) 
    {   
      var item = listaMarcados[loop];
      if (item.type == "checkbox" && item.checked) 
      {
        alert(item.value);
        alert(listaMarcados.length);
      }
    }    
  } else alert("Nao existe CheckBox Marcado");
  }


<!--      else alert( 'Não existe CheckBoxMarcado!' ) ; -->
 
<!-- ******************************************************************* -->

  alert( 'Hello, world 1!' ); 
</script>
  <p>...After the script.</p>

<form>
  <input type="button" NAME="submit" value="Verificar Marcados" onclick="obterMarcados()">
  <input type="checkbox" name="checkbox1" value="Autocad"> Autocad <br>
</form>

</body>

</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@joao.felipe Bom dia, cara tem tanto erro no seu script que você precisa resolver eles antes de saber aonde colocar o else.

 

Uma coisa estranha e erada, é como você está colocando os comentários no javascript que é totalmente diferente dos cometário em html.

 

Para você entender melhor os comentários do javascript possuem duas fomas de serem adicionadas que são, o comentário de uma unica linha e  um bloco de comentário.

 

O comentário de uma unica linha em javascript começa // e qualquer texto entre // e o final da linha será ignorado pelo JavaScript (não será executado).

 

<script>
  
// alerta("Eu sou um comentário e eu não vou ser executado");
alerta("Eu não sou um comentário e vou ser executado");
  
</script>

 

O bloco de comentário começa com /* e termina com */ e qualquer texto entre /**/ será ignorado pelo JavaScript.

<script>
  
/* 
	alerta("nós somos um bloco de comentário e eu não vou ser executado");
	alerta("nós somos um bloco de comentário e eu não vou ser executado");
    alerta("nós somos um bloco de comentário e eu não vou ser executado");
    alerta("nós somos um bloco de comentário e eu não vou ser executado");
*/
  
alerta("Eu não sou um comentário e vou ser executado");
  
</script>

 

Outro erro que eu encontrei é que você não utiliza o retorno do método getElementsByName() e tenta acessar de uma forma erada, o método getElementsByName() vai sempre retorna uma lista(array) com todos os elementos com o nome(name) especificado ou ele retorna uma lista(array) vazio, o erro está no if, você tenta acessar a propriedade checked de um variável que não existe, e essa propriedade é de um elemento do type(checkbox), serial ideal você nesse if verificar se existe algum elemento destro dessa lista, para isso basta verificar a propriedade length.

 

Essa propriedade da lista(array) vai retorna o valor de quantos elementos a dentro dela, caso não haja nenhum elemento, ela retorna o valor 0.

 

if (listaMarcados.length > 0)
{

}

 

Vou deixa um código de exemplo de como ficária o código corrigido:

<!DOCTYPE html>
<html>
<body>

<script>
  /******************************************/
  function obterMarcados() 
  {
  	var numeros = 0;
    var listaMarcados = document.getElementsByName("checkbox1");

	if (listaMarcados.length > 0)
    {
    
      for (loop = 0; loop < listaMarcados.length; loop++) 
      {   
        let item = listaMarcados[loop];
        console.log(item.checked)
        if (item.type == "checkbox" && item.checked) 
        {
          numeros++;
          alert(item.value);
          alert(listaMarcados.length);
        
        }
      } 
      if (numeros == 0)
      {
          alert("Nenhum CheckBox foi Marcado");
      }
      
    }
    else
    {
    	alert("Nao existe nenhum CheckBox com esse nome(name)");
	}  
 }
 /******************************************/
</script>
  <p>...After the script.</p>

<form>
  <input type="button" name="btn" value="Verificar Marcados" onclick="obterMarcados()">
  <input type="checkbox" name="checkbox1" value="Autocad"> Autocad <br>
</form>

</body>
</html>

 

Também vou deixar um link de um ótimo site para aprender javascript

https://www.w3schools.com/js/default.asp

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 horas atrás, gabrielms disse:

Excelente amigo, era exatamente o que eu preciso. Sou de Belo Horizonte e preciso de umas aulas em JS. conhece alguém que pode me dar umas aulas particulares?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@joao.felipe Pó eu não conheço nenhum professor partícula de javascript, mas eu acho que não sera necessário um professor, já que o conteúdo dá W3 é muito completo, e também existe ótimos cursos de desenvolvimento web, de diversas plataformas online, dá uma olhada nos curso da udemy!

 

E caso você tenha alguma duvida, publica aqui no fórum do imaster ou no fórum clube do hardware, que eu te ajudo.

 

 

 

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 marsolim
      Olá a todos. Venho com um probleminha para o qual não encontrei resposta. Talvez, eu não tenha sabido os termos certos para pesquisar. É o seguinte... estou tentando incluir, em uma lista array, índices com valores montados em uma variável a partir de outra array e não estou a conseguir. Atualmente, meu código é o seguinte...
      var ids = {     "joby": "track 01",     "dobby": "track 02",     "medz": "track 03",     "decks": "track 04,     "tecks": "track 05",     "assud": "track 06",     "mand": "track 07",     "daly": "track 08", }; var lstIds = []; for(i in ids){         lstIds[i] =  {         dock: ids[i],         adb: 0,         mdc: 0,         bah: 0,         tek: 0,         dep: 0,         tos: 0     }; }  
      Até aqui ok. É o que tenho no momento. O que estou querendo fazer é colocar, no lugar das linhas de adb: 0 até dep: 0, outra array que criei com esses índices, porque pode ser que eu precise adicionar mais valores e eu quero fazer isso na array nova porque vou usar ela em vários lugares e eu teria que alterar em todos se não fizer essa modificação. Fazendo ela, eu alteraria apenas nela mesmo. Então, agora, com a array nova, seria algo assim:
      var ids = {     "joby": "track 01",     "dobby": "track 01",     "medz": "track 01",     "decks": "track 01",     "tecks": "track 01",     "assud": "track 01",     "mand": "track 01",     "daly": "track 01", }; var juds = ["adb", "mdc", "bah", "tek", "dep"]; //lista nova com os valores var lstIds = []; for(i in ids){         lstIds[i] =  {         dock: ids[i],         adb: 0,         mdc: 0,         bah: 0,         tek: 0,         dep: 0,         tos: 0     }; }  
      O que eu preciso é incluir os valores de juds em lstIds. Da forma que está, não consigo fazer um for dentro do outro for para pegar esses dados e não consigo, também, criar ele fora e inserir com variável, tipo:
      var fJuds = ""; for(i in juds){     fJuds += juds[i] + ": 0,"; } for(i in ids){         lstIds[i] =  {         dock: ids[i],         fJuds // Aqui eu incluiria a variável no lugar das linhas...         tos: 0     }; }  
      Bem, o que eu queria saber mesmo é como eu poderia inserir uma variável no meio duma lista desse tipo... se é possível.
       
      Agradeço pela atenção...
    • Por helkton
      iai galera, tenho uma pendenga e não consigo achar nada pra suprir minha dúvida rsss
      seguinte....
       
      Tenho um cardápio Online onde tenho os devidos ITENS sendo abertos em uma janela modal e nesta janela tenho os devidos ITENS EXTRAS em um checkbox que o usuario clicam e adicionam
      esta é minha lista de ADICIONAIS EXTRAS QUE PEGO DO BANCO DE DADOS 
       
      <label style="border:0px red solid;font-size:1em;width:90%;text-align:left;padding:0px;margin-left:2em;" onclick="somar()"> <input style="height:23px;width:23px;cursor:pointer" type="checkbox" class='limited<?php echo $resultExtrasDelivery->idExtraDelivery?>' id="valorItemExtra" name="idExtraSelects[]" value="<?php echo $resultItensExtras->valorItemExtra?>" > <span style="cursor:pointer"><?php echo $resultItensExtras->nomeItemExtra?> <span style="font-size:0.7em;color:#DD2C00"> <small> <?php if($resultItensExtras->valorItemExtra == '0.00'){echo'';}else{echo '+R$ '.$resultItensExtras->valorItemExtra.'<input type="text" value="'.$resultItensExtras->valorItemExtra.'">';}?></small> </span> </span> </label> ela vem tipo assim
      AcréscimoTradicional - Escolha até 3 opções
      BACON 1,00
      CALABRESA 1,00
      MUSSARELA 1,00
      PRESUNTO 1,00
      OVO 1,00
       
      o que quero fazer é somente somar os itens clicados pelo usuario e somar com o TOTAL DO ITEM 
      tipo pegar o total do item tipo R$30,00 e ir somando com os acrescimos escolhidos
       
      <script> function somar() { // var valorItem = document.getElementById('valorItemExtra').value; var checkbox = document.getElementById('#valorItemExtra'); var total = 0; if(checkbox.checked == true){ total += checkbox.value; } document.getElementById('somar').innerHTML = total; } </script>  
    • Por Rodrigo Bigas
      Olá colegas, 
      Desenvolvi um sistema simples de boletim escolar. Conforme os dados são inseridos nas textfields ao clicar no botão Resultado, deverá mostrar em uma JTable. O problema é que a última coluna (resultado) da JTable tem que estar dentro de uma condição if/else para setar se o aluno está "aprovado", "em recuperação" ou "reprovado conforme a condição". Estou com dificuldades em descobrir qual é o método correto que seta este resultado de forma dinâmica. Segue os prints:
       
      Conforme o código e o print acima, o sistema funciona somente para a primeira linha, porque está setando de forma estática, obtendo os valores do índice e coluna, qual seria o método para setar o valor de forma dinâmica do índice e coluna?
    • Por Sapinn
      Salve! Não consigo verificar se o checkbox foi marcado, isso não faz o menor sentido porquê aparentemente eu fiz tudo certo.
       
      HTML:
       <div class="mt-4 mb-3 row ">                 <label class="label_checkbox">Adicionar customização                   <input type="checkbox" id="checkbox" name="custom_shirt">                   <span class="checkmark"></span>                 </label>               </div>  
      JAVASCRIPT:
       let checkedCustomize = document.getElementById("checkbox");  if(checkedCustomize.checked){     alert("Checkbox marcado");  }else{      console.log("checkbox não marcado");  }  
    • Por Caio Vargas
      Meus amigos estou com um problema que não consigo resolver as vezes e coisas simples mais não encaixa na minha cabeca eu tenho multiplos checkbox onde cada um tem o valor porem eu tô salvando isso em uma tabela única separado por vírgula não sei se isso e correto mais na hora de recuperar e colocar como checado não vai pq ele retorna os valores tudo jundo mesmo dando um explode não vai 
×

Informação importante

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