Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

270
Visualizações
Error al cambiar: indefinido (estableciendo 'valor')

Estoy pidiendo ayuda, tengo un problema porque aparece este error "Error de tipo no detectado: no se pueden establecer propiedades de indefinido (estableciendo 'valor')" en mi consola. No puedo usar document.getElementByID porque mi ID cambiará, debe ser de clase. ¿Alguien podría ayudarme con lo que se debe cambiar en este código?

 function information(ele){ for(var i=0; i<30; i++){ var address1 = document.getElementsByClassName('test2')[i]; if( ele.value == "test4"){ address1.value = "test5"; } else if (ele.value == "test6"){ address1.value = "test7"; } else if (ele.value == "test8"){ address1.value = "test9"; } } }
 <div class="form grup information"> <lable for="dates-full.names"> Names full</lable> <input name="dates-full.names" list="dates-full.names" type="text" class="form grup test1" onchange="information(this)"> <datalist type="text" id="dates-full.names"> <option value="test4"> <option value="test6"> <option value="test8"> </datalist> </div> <div class="form grup test2"> <lable for="power-full.adress"> Adress full</lable> <input id="test2" name="dates-full.adress" list="dates-full.adress" type="text" class="form grup test2"> <datalist type="text" id="dates-full.adress"> <option value="test5"> <option value="test7"> <option value="test9"> </datalist> </div>

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

No hay 30 elementos con el nombre de clase 'test2' . En su bucle for, itera sobre 30 elementos posibles y luego busca el elemento n con el nombre de clase 'test2' . Sin embargo, podría haber menos de 30 elementos. Iterando sobre elementos inexistentes.

Una posible solución a esto sería hacer un foreach en lugar de un for. Iterando sobre todos los elementos.

Pruebe estos: For-each sobre una matriz en JavaScript

about 4 years ago · Juan Pablo Isaza Relatório

0

Prueba esto:

 function information(ele){ var address1 = document.getElementsByClassName('test2'); for(var i=0; i<address1.length; i++){ if( ele.value == "test4"){ address1[i].value = "test5"; } else if (ele.value == "test6"){ address1[i].value = "test7"; } else if (ele.value == "test8"){ address1[i].value = "test9"; } } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda