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

160
Vistas
Cómo usar la misma función php para diferentes clics de botón

Aquí hay un formulario PHP simple con un botón...

 <form method="POST"> <div class="mb-3"> <button type='button' id ="btnnew1" class="btn btn-info" >submit</button> <p></p> </div> </form>

Aquí están las funciones de Jquery que ejecutan un archivo PHP.

 $(document).ready(function(){ $("#btnnew1").click(function(e){ if(!confirm('Are you sure?')){ e.preventDefault(); return false; } else{ $.ajax({ url: 'test.php', success: function(data) { $("p").text(data); } }); } }); });

Y el test.php es el siguiente,

 <?php echo 'Button1 clicked' ?>

Mi pregunta es cómo modificar mi test.php si tengo varios botones.

Como ejemplo,

 <form method="POST"> <div class="mb-3"> <button type='button' id ="btnnew1" class="btn btn-info" >submit</button> <p></p> </div> <div class="mb-3"> <button type='button' id ="btnnew2" class="btn btn-info" >submit</button> <p></p> </div> <div class="mb-3"> <button type='button' id ="btnnew3" class="btn btn-info" >submit</button> <p></p> </div> </form>

El resultado debe ser,

 If btnnew1 clicks--->echo("Button1 clicked); If btnnew2 clicks--->echo("Button2 clicked); If btnnew3 clicks--->echo("Button3 clicked);

Actualizar:

¿Qué sucede si necesito ejecutar tres funciones php diferentes (sin ningún patrón)?

 Ex: If btnnew1 clicks---> sleep(5) echo("Button1 clicked); If btnnew2 clicks---> sleep(15) echo("Button2 clicked by user); If btnnew3 clicks---> sleep(35) echo("Button3 clicked by user);
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Aquí estoy cambiando un poco su configuración predeterminada. Esto te ayudará como puedo entender. Puedes probar de la siguiente manera,

1) Cambie su botón al tipo de entrada ... También he agregado algunos CSS en línea. Si no te gusta puedes descuidarlo...

 <input type="button" style="background-color: #3CBC8D;padding:3px;" class="button" name="fcn1" value="Update My Status"/> <input type="button" class="button" style="background-color: #3CBC8D;padding:3px;" name="fcn2" value="Update My Status" />
  1. Luego vaya a jquery y use como se muestra a continuación, cambie la función de éxito como desee. Aquí he usado un cuadro de alerta...

     $(document).ready(function(){ $('.button').click(function(){ if(!confirm('Are you sure?')){ e.preventDefault(); return false; } else{ var clickBtnValue = $(this).attr('name'); var fetchdata= 'testme.php', data = {'action': clickBtnValue}; $.post(fetchdata, data, function (response) { // Response div goes here. alert("Updated successfully -"+response); }); } }); });
  2. Finalmente cambie su testme.php de la siguiente manera,

     if (isset($_POST['action'])) { switch ($_POST['action']) { case 'fcn1': fcn1(); break; case 'fcn2': fcn2(); break; } } function fcn1() { echo 'Button1 clicked'; exit; } function fcn2() { sleep(5); echo 'Button2 clicked'; exit; }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Establece el nombre de cada botón: Botón 1

Envíe datos usando ajax: obtenga el texto del botón usando e.target.text y envíelo usando el método POST.

 $.ajax({ type: 'POST', url: 'test.php', data: { buttonTitle: e.target.name}, success: function(data) { $("p").text(data); } });

php: dentro de php use $_GET para obtener los datos que enviamos desde la interfaz.

 if(isset($_POST['buttonTitle'])) { $buttonTitle = $_POST['buttonTitle']; echo $buttonTitle . " clicked"; }
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