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

164
Views
No se puede detectar "Introducir clave" en Javascript con Php

Estoy trabajando con php y javascript, tengo texarea y quiero cada vez que ingreso cualquier texto y presiono "Tecla Intro", entonces debería mostrarse la alerta, pero en este momento el texto va a la siguiente línea en lugar de mostrar el cuadro de alerta.

Aquí está mi código html

 <textarea placeholder="Write a comment1…" id="txt'.$FeedId.'" rows="1" class="reply_post_new" style="overflow:hidden" onkeypress="return Addcomment1(this)"></textarea>

Y aquí está mi código de script, ¿dónde me equivoco?

 <script> function Addcomment1(e) { f (e.keyCode == 13) { alert('Hello world'); return false; } } </script>
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

La causa del problema es que está pasando el elemento de área de texto a la función en lugar del objeto de evento.

Sus otros problemas son que está utilizando un atributo de evento intrínseco (que viene con un montón de errores) y la propiedad obsoleta keyCode . También cometiste un error tipográfico y escribiste mal if . Finalmente, los nombres de funciones que comienzan con una letra mayúscula se reservan tradicionalmente para funciones de construcción, lo que no ocurre con la suya.

 const textarea = document.querySelector('textarea'); textarea.addEventListener('keypress', addComment1); function addComment1(e) { if (e.key === "Enter") { alert('Hello world'); e.preventDefault(); } }
 <textarea placeholder="Write a comment1…" id="txt'.$FeedId.'" rows="1" class="reply_post_new" style="overflow:hidden"></textarea>


Y todo eso aparte, dado que tiene una sola línea <textarea> donde está bloqueando el uso de la tecla Intro... probablemente debería deshacerse del JS y simplemente usar <input type="text> en su lugar.

about 4 years ago · Juan Pablo Isaza Report

0

El argumento this en la función Addcomment1(this) devuelve el elemento en sí, no el evento clave que desea obtener, por lo que debe usar javascript addEventListener para obtener la clave del evento y usar key en lugar de keyCode , ya que es una propiedad obsoleta

HTML:

 <textarea placeholder="Write a comment1…" id="txt'.$FeedId.'" rows="1" class="reply_post_new" style="overflow:hidden"></textarea>

JS:

 let textarea = document.querySelector('.reply_post_new'); textarea.addEventListener('keypress', function(e) { if(e.keyCode == 13) { alert('Hello world'); return false; } });
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!