Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

  • 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.