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

232
Views
mostrar texto de entrada en la imagen - JavaScript

Necesito mostrar el texto de entrada sobre la imagen mediante JavaScript. significa que cualquier texto ingresado por el usuario aparecerá en la imagen. pero todo lo entiendo [objeto HTMLInputElement]

html

 <body> <div class="congrat"> <img src="img/congrat.png" alt=""> <h3 id="text">hi iam here</h3> </div> <div class="name"> <button onclick="ReplaceText()">Click Me!</button> <label for="fname">First name:</label><br> <input dir="rtl" type="text" id="name"> </div> <script src="app.js"></script> </body>

código JavaScript

 const Text = document.getElementById('text'); const Input = document.getElementById('name'); function ReplaceText(){ if( Input.textContent.value == 0){ console.log(1) }else{ Text.innerHTML = Input } }

cuando se hace clic en el botón, se me muestra ... [objeto HTMLInputElement]

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

  1. Utilice camelCase para nombres de variables, es estándar.
  2. Esto es vulnerable a una inyección de HTML. Use texto interno para los valores innerText por el usuario.
  3. Input es una instancia de HTMLInputElement . Tiene una propiedad .textContent , pero en forma de cadena (como lo hizo) se convierte en el marcador de posición [object X] . Utilice .value en su lugar.

 const text = document.getElementById('text'); const input = document.getElementById('name'); function replaceText(){ if (!input.value) { console.log(1) } else { text.innerText = input.value; } }
 <body> <div class="congrat"> <img src="img/congrat.png" alt=""> <h3 id="text">hi iam here</h3> </div> <div class="name"> <button onclick="replaceText()">Click Me!</button> <label for="fname">First name:</label><br> <input dir="rtl" type="text" id="name"> </div> </body>

about 4 years ago · Juan Pablo Isaza Report

0

la entrada devolverá el elemento del objeto y este objeto tiene algunas propiedades como valor para obtener el valor de este objeto.

editado por @0xLogN:

evite usar innerHTML con entrada para evitar la inyección js, use innerText

 const Text = document.getElementById('text'); const Input = document.getElementById('name'); function ReplaceText(){ if( Input.textContent.value == 0){ console.log(1) }else{ Text.innerText = Input.value } }

w3escuelas

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!