Intereting Posts
Предложения для (полу) обеспечения высоких результатов в игре Flash / PHP Перенаправление на другой URL-адрес при нажатии кнопки «Назад» с помощью javascript Получение ответа HTML вместо JSON в android Неустранимая ошибка: вызов функции-функции члена () для не-объекта в Показывать страницу ожидания при перезагрузке сервера Apache: WordPress по локальной сети Что использовать, если я хочу повторить набор параметров в сеансе php libcurl Laravel, Datatables, столбец с числом отношений Плагин Smarty для Eclipse Europa Извлечение полей MySQL из строки в переменные и массив PHP JavaScript Подтверждение перед удалением с помощью PHP / MYSQL ZF + Doctrine 2: Тяжелые классы моделей или Легкая модель + Сервисный уровень? Унификация, не предоставляющая мне пароль пользователя и имя пользователя Список php в таблицу Отправить письмо в php с прикрепленным файлом, который создается из базы данных

Как вызывать 2 функции одновременно с использованием Twig AJAX Form?

Я использую OctoberCMS на основе Laravel и Twig .

Я использую Twig AJAX Form, который имеет 2 кнопки. Каждый вызов функции PHP, actionOne() и actionTwo() .

Как сделать вторую кнопку одновременным вызовом обеим функциям?

Использование нескольких data-request на кнопке не работает. И использование нескольких функций, разделенных запятой в data-request также не работает.

форма

 {{ 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() }} 

Изменить: я скорректировал значения запроса данных и имени.

Есть несколько способов сделать это.

Первый вариант, вы можете создать третий метод PHP, который просто выполняет обе вещи, которые вы хотите выполнить, а затем называет это:

 function onActionThree() { onActionOne(); onActionTwo(); } 

а также

 <button data-request="actionThree">Click me for both previous actions</button> 

Второй вариант, вы можете использовать JS API AJAX Framework, чтобы сделать два отдельных запроса AJAX для действия actionOne и 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> 

Я оставлю это с окончательным комментарием, пожалуйста, прочитайте https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem и http://xyproblem.info/ . Эта неопределенная абстракция ваших вопросов не помогает кому-либо действительно решать вашу реальную проблему.

Я не знал эту CMS, но если вы можете написать собственный js-код. Затем используйте это

 $('document').ready(function(){ function onOne(){ here your function }; function actionTwo(){ here your function }; $("#BUTTONNAME").on('click mouseenter keyup keypress',function(){ onOne(); actionTwo(); }); });