Estoy usando OctoberCMS basado en Laravel y Twig .
Estoy usando un formulario Twig AJAX que tiene 2 botones. Cada uno llama a una función PHP, actionOne() y actionTwo() .
¿Cómo hago que el segundo botón llame a ambas funciones al mismo tiempo?
El uso de múltiples data-request en un botón no funciona. Y el uso de múltiples funciones separadas por comas en data-request tampoco funciona.
Forma
{{ form_open() }} <button type="button" data-request="actionOne">Action 1</button> <button type="button" data-request="actionTwo">Action 1 & 2</button> <input type="checkbox" name="queuedOne[]" value="{{ record.one }}" /> <input type="checkbox" name="queuedTwo[]" value="{{ record.two }}" /> {{ form_close() }}Editar: he corregido los valores de solicitud de datos y nombre.
Hay un par de formas diferentes de lograr esto.
Primera opción, podría crear un tercer método PHP que simplemente haga las dos cosas que desea lograr y luego llamarlo en su lugar:
function onActionThree() { onActionOne(); onActionTwo(); }y
<button data-request="actionThree">Click me for both previous actions</button> Segunda opción, puede utilizar AJAX Framework JS API para realizar dos solicitudes AJAX separadas a actionOne y actionTwo .
<button id="action-three-btn">Click me for both previous actions</button> <script> jQuery(document).ready(function ($) { $('#action-three-btn').on('click', function (e) { e.preventDefault(); $(this).request('actionOne'); $(this).request('actionTwo'); }); }); </script>Dejaré esto con un comentario final, lea https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem y http://xyproblem.info/ . Esta vaga abstracción de sus preguntas no está ayudando a nadie a abordar su problema real.
No conocía este CMS, pero si puede escribir su propio código js. Entonces usa esto
$('document').ready(function(){ function onOne(){ here your function }; function actionTwo(){ here your function }; $("#BUTTONNAME").on('click mouseenter keyup keypress',function(){ onOne(); actionTwo(); }); });También te doy un consejo, todas estas cosas de CMS hacen que la Programación no sea más fácil. Escribiste tus propias cosas y entonces no tienes estos problemas.
espero que ayude