Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

270
Vistas
¿Cómo pasar argumentos a un botón HTML generado en JavaScript?

Tengo el siguiente código:

 <!DOCTYPE html> <body> <table> <tr> <td id="toConsole"> Hi I would like to print this in console</td> </tr> <tr> <td><input type="text" id="intext"></td> </tr> <tr> <td id="btnAdd"></td> </tr> </table> <script> function addBtnAdd() { document.getElementById("btnAdd").innerHTML = `<button onclick="printBtnAdd(document.getElementById("toConsole").textContent, document.getElementById("intext"))">Print in console</button>` } function printBtnAdd(text, inputtext) { console.log(text, inputtext) } addBtnAdd(); </script> </body> </html>

Como puede ver, genero un botón en JS y lo introduzco en un elemento td de una tabla, con ese botón me gustaría imprimir el texto Hi I would like to print this in console consola, y obtengo el valor de la entrada e imprímala también en la consola, haciendo esto al mismo tiempo presionando el botón que intro antes.

Con mi código acabo de recibir en la consola el siguiente error:

 Uncaught SyntaxError: Unexpected end of input (at pop.html:25:50)

Y, por ejemplo, si tengo el siguiente en mi página:

consola

Me gustaría entrar en la consola:

 'Hi I would like to print this in console', 'Hi'

Espero que me puedas ayudar, gracias.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Este es tu problema:

 document.getElementById("btnAdd").innerHTML = `<button onclick="printBtnAdd(document.getElementById("toConsole").textContent, document.getElementById("intext"))">Print in console</button>`

Tenga en cuenta este bit:

 <button onclick="printBtnAdd(document.getElementById("

debiera ser:

 <button onclick="printBtnAdd(document.getElementById(\"

al no escapar puede solucionar este problema.

 document.getElementById("btnAdd").innerHTML = `<button onclick="printBtnAdd(document.getElementById(\"toConsole\").textContent, document.getElementById(\"intext\"))">Print in console</button>
about 4 years ago · Juan Pablo Isaza Denunciar

0

me gustaría cambiar

 <script> function addBtnAdd() { document.getElementById("btnAdd").innerHTML = `<button onclick="printBtnAdd(document.getElementById("toConsole").textContent, document.getElementById("intext"))">Print in console</button>` } function printBtnAdd(text, inputtext) { console.log(text, inputtext) } addBtnAdd(); </script>

A

 <script> function addBtnAdd() { document.getElementById("btnAdd").innerHTML = `<button onclick="printBtnAdd()">Print in console</button>` } function printBtnAdd() { const text = document.getElementById("toConsole").textContent, const inputtext = document.getElementById("intext") console.log(text, inputtext) } addBtnAdd(); </script>

Esto mantiene su HTML interno un poco más limpio. La desventaja sería si quisiera usar esa función para varias cosas diferentes, pero si esto es todo para lo que la está usando, debería funcionar bien.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda