@vitkuz573

Как вызвать функцию класса php из onclick?

Есть php класс с несколькими функциями

class Test {
    function remove()
    {
        //
    }

    function start()
    {
        //
    }

    function stop()
    {
        //
    }
}


Также имеется контекстное меню:
$(function(){
    $.contextMenu({
        selector: '.context-menu',
        items: $.contextMenu.fromMenu($('#html5menu'))
    });
});

<menu id="html5menu" style="display:none" class="showcase">
    <command label="Start" icon="fa-play" onclick="">
    <command label="Stop" icon="fa-stop" onclick="">
    <command label="Delete" icon="fa-trash-alt" onclick="">
</menu>


Из которого надо вызвать по нажатию соответствующей кнопки соответствующую php функцию.
Собственно вопрос, как это правильно сделать?
  • Вопрос задан
  • 439 просмотров
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Никак.
Функцию РНР "из onclick" вызвать нельзя
Можно вызвать РНР скрипт только целиком, передав ему данные. обычным аяксом
А уже в РНР можно написать условие, которое, в зависимости от переданных аяксом данных, создаст экземпляр класса и выполнит тот или иной метод.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
no_one_safe
@no_one_safe
Ajax
Ответ написан
Комментировать
@zkrvndm
Софт для автоматизации
Вы путайте между собой JavaScript и PHP. Чтобы из JavaScript вызывать функцию написанную на PHP вам нужно сделать AJAX запрос из браузера к вашему php-обработчику.

<menu id="html5menu" style="display:none" class="showcase">
    <command label="Start" icon="fa-play" onclick="$.ajax('/start.php');">
    <command label="Stop" icon="fa-stop" onclick="$.ajax('/stop.php');">
    <command label="Delete" icon="fa-trash-alt" onclick="$.ajax('/delete.php');">
</menu>
Ответ написан
@Ex1st
В дополнение предыдущим оратором должен сказать, что вызывать методы класса по клику всё-таки можно. Для этого нужно реализовать роутинг
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы