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

308
Visualizações
TypeError: marcado no es una función en HTMLInputElement.onchange

Tuve un problema en el que escribí una función marcada () para el cambio de una casilla de verificación:

 <input type="checkbox" id = "checked" onchange="checked()" />

Aquí está mi javascript:

 const check = document.getElementById("checkbox") const yes = document.getElementsByClassName("yes") function checked() { if (check.checked) { yes.innerHTML = "Yes" } else { yes.innerHTML = "No" } }

Básicamente, quiero que el lapso con la clase de sí cambie la salida dependiendo de si la casilla de verificación está marcada o no (dice Sí o No). Sin embargo, cuando inspecciono, dice "Error de tipo: marcado no es una función en HTMLInputElement.onchange" incluso aunque mi javascript está perfectamente vinculado a mi HTML (lo verifiqué con una alerta).

¿Como puedo resolver esto?

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

0

Obtiene una casilla de verificación por checkbox de verificación de identificación, pero en su campo de entrada, coloca id="checked" que es incorrecto, por lo que debe corregir su identificación de checked a checkbox de verificación.

 <input type="checkbox" id = "checkbox" onchange="checked()" />

También debe cambiar el nombre de su función de checked a otro nombre (como checkData que no es similar a los valores/funciones nativos) y luego envuelva su document.getElementById en su función

No debe usar getElementsByClassName también, porque devuelve una lista de elementos e innerHTML no funciona para ellos, por lo que debe seleccionar un elemento en particular con getElementById

 function checkData() { const check = document.getElementById("checkbox") const yes = document.getElementById("yes") //need to use `getElementById` instead of `getElementsByClassName` //if `yes` element is not there, we don't need to set `innerHTML` if(!yes) { return } if (check.checked) { yes.innerHTML = "Yes" } else { yes.innerHTML = "No" } }

Recuerde implementar su elemento yes de esta manera

 <p id="yes"></p> //tag name is your choice

Técnicamente, checked es el nombre del atributo de valor en esa entrada y no es una función, por lo que no puede usarlo como nombre de función.

Por cierto, ¡gracias a @Teemu por la sugerencia!

about 4 years ago · Juan Pablo Isaza Relatório

0

verificación constante = documento.getElementById("casilla de verificación")

No existe tal identificación en su código llamado "casilla de verificación". Creo que quieres:

verificación constante = documento.getElementById("verificado")

Intente dar a sus ID, nombres de función y tipos de entrada nombres únicos para que no se confundan entre sí.

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