如何在按钮单击时调用PHP函数?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (437)

我是PHP的新手,刚刚开始学习这门语言的基础知识。

我创建了一个名为functioncalling.php的页面,其中包含两个按钮:Submit和Insert。作为PHP的初学者,我想测试一个按钮被点击时执行哪个函数。我想要输出到同一页面。所以我创建了两个函数,每个按钮一个。functioncalling.php的源代码如下:

<html>
<body>
<form action="functioncalling.php">
    <input type="text" name="txt" />
    <input type="submit" name="insert" value="insert" onclick="insert()" />
    <input type="submit" name="select" value="select" onclick="select()" />
</form>
<?php
function select(){
   echo "The select function is called.";
}
function insert(){
   echo "The insert function is called.";
}
?>

这里的问题是,在按钮被点击后,我没有得到任何输出。

谁可以告诉我我到底错在哪里?

提问于
用户回答回答于

按钮点击client side而PHP是server side,但你可以通过ajax使用实现这一点

 $('.button').click(function() {

 $.ajax({
  type: "POST",
  url: "some.php",
  data: { name: "John" }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});    

    });

在你的php文件中:

<?php
function abc($name){
//your code here
}
 ?>
用户回答回答于

是的,这里需要Ajax。更多细节请参考下面的代码。

像这样更改标记

<input type="submit" class="button" name="insert" value="insert" />
<input type="submit" class="button" name="select" value="select" />

jQuery:-

$(document).ready(function(){
    $('.button').click(function(){
        var clickBtnValue = $(this).val();
        var ajaxurl = 'ajax.php',
        data =  {'action': clickBtnValue};
        $.post(ajaxurl, data, function (response) {
            // Response div goes here.
            alert("action performed successfully");
        });
    });

});

在ajax.php中

<?php
if (isset($_POST['action'])) {
    switch ($_POST['action']) {
        case 'insert':
            insert();
            break;
        case 'select':
            select();
            break;
    }
}

function select() {
    echo "The select function is called.";
    exit;
}

function insert() {
    echo "The insert function is called.";
    exit;
}
?>

扫码关注云+社区

领取腾讯云代金券