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

315
Vistas
When pressing button to trigger event nothing happens

I have a button that has a data-id with a value of 1. I need to pass this id to getCarDetails.php during a fetch() call. The getCarDetails needs this id for a query. The php is working fine as I tested it on a normal submit form and returns the jSON I need. However, this script doesn't want to work. I've tried everything.

function loadCarDetails(event) {
  const id = event.currentTarget.getAttribute("data-id");
  const data = new FormData();
  data.append("car_id", id);
  fetch("getCarDetails.php", {
      method: "POST",
      data
    })
    .then(response => {
      if (!response.ok) {
        throw new Error(`HTTP error ${response.status}`);
      }
      return response.json();
    })
    .then(carDetails => {
      // ...use the car details here...
    })
    .catch(error => {
      // ...handle/reject error here...
    });
}
<div class="car-item">
  <div class="row">
    <p>Ford Fiesta</p>
  </div>

  <div class="row">
    <button type="button" class="btn" data-id="1">View</button>
  </div>
</div>

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

0

Since your buttons are dynamically generated, they need an additional class that you can identify:

<button type="button" class="btn btnview" data-id="1">View</button>

Then, add an event listener for them at the end of the javascript:

document.querySelectorAll('.btnview')
    .forEach((e, i) => e.addEventListener('click', loadCarDetails));

This means that when the user clicks one of the buttons, it would call the loadCarDetails function for that button.

about 4 years ago · Juan Pablo Isaza Denunciar

0

You're not passing that function in a callback on the event handler of the button

               <div class="row">
                    <button type="button" onClick={(e) => loadCarDetails(e)} class="btn" data-id="1">View</button>
                </div>
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