Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

306
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!