php - 单击按钮运行 PHP 函数?

标签 php

我想通过单击 HTML 按钮来运行 PHP 函数。

我可以这样调用 PHP 脚本:

<form action="action.php" method="post">
  Name: <input type="text" name="txt"/>
  <input type="submit" />
</form>

但我不想调用“action.php”。我只想调用我在此页面中定义的 PHP 函数。这能做到吗?

最佳答案

我更喜欢使用的方法是混合调用面向对象的 PHP 类的 jQuery/ajax。

我有一个 jQuery 监听器/触发器,用于按下类似这样的按钮:

$('#buttonId').live('click', function() {
    $.get('api.php?functionName=test&inputvar=something');

    return false;
});

这将通过 ajax 调用 api.php 文件并阻止任何进一步的操作,例如表单提交。

然后在 PHP 文件中你总是可以做一些基本的事情,比如:

if ($_REQUEST['functionName'] == 'test') {
    test();
}

或者如果你有大量的类和大量的动态输入,你可以做一些更有趣的事情,比如:

$functionName = $_REQUEST['functionName'];
if (method_exists($myClassInstance, $functionName))
    $myClassInstance->$functionName();

有很多方法可以解决这个问题,但这些是我最喜欢的。另一种选择是为此类事件构建的 Extjs 框架,但如果您还不熟悉它并且项目不是“庞大”的,我不会关心它。

最后,如果您需要从 php 文件返回响应(例如 json 结果),那么不要使用 jQuery:$.get() 函数,而是使用函数 $.getJSON

希望对您有所帮助:)

关于php - 单击按钮运行 PHP 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5798877/

相关文章:

php - Socialite laravel 5.4 Facebook登录报错(RequestException.php line 111中的ClientException)

php + 替换查询结果数组中的文本

php - 将 PHP 脚本回显到父页面上

源文件没有封闭字符的 PHP fgetcsv()?

JavaScript 到 Microsoft SQL Server(AJAX 请求)

php - 向 Laravel 5 调度程序添加自定义方法

javascript - 从函数创建动态弹出窗口

php - 管理允许在 Woocommerce 中购买的客户

php - 如何将图像保存到 MySQL 数据库?

php - 最高效的 JOIN 查询 - MySQL